Skip to content

Como colaborar con la web de python vigo

Pablo Vázquez edited this page Nov 28, 2017 · 2 revisions

Configurar entorno CON permisos de despliegue

Despliegue directo (Linux)

Razón detrás de esta configuración

Cada clave pública en github sólo se puede utilizar para un repositorio concreto

Gran parte de esta configuración no sería necesaria si github permitiese usar la misma clave pública para varios repositorios, pero no es el caso.

Al tener esa restricción, para que el sistema local (tu PC) sepa qué clave necesita usar para cada repositorio de github, hay que configurarlo de esta forma específicándole qué clave corresponde a qué repositorio.

Configuración paso a paso

Se asume que antes de empezar tenemos:

  • Python 3.5+ (no probado con versiones anteriores)
  • Git
  • Entorno virtual creado con Python 3.5+ (no probado con versiones anteriores)
  1. Crear par de claves

    • Abre una terminal
    • Escribe lo sigiuente para iniciar el proceso de creación de claves
    $ ssh-keygen -t rsa -b 4096 -C "[email protected]"
    • Cuando se solicite introducir un lugar en el que grabar la clave, escribe la ruta que se muestra en el ejemplo siguiente sustituyendo "MI_USUARIO" por el usuario que estés usando
    Enter file in which to save the key (/home/peibolvig/.ssh/id_rsa): /home/MI_USUARIO/.ssh/id_rsa_pythonvigoweb
    • Escribe un password (por seguridad no se recomienda dejarlo vacío)
    Enter passphrase (empty for no passphrase): mipassword
    Enter same passphrase again: mipassword
  2. Crear/editar fichero de configuración de ssh para el usuario

    • Usar nuestro editor favorito para crear o editar el fichero: ~/.ssh/config
    • Añadir al final del fichero las siguientes lineas:
    Host pythonvigoweb
      HostName github.com
      IdentityFile ~/.ssh/id_rsa_pythonweb
    
    • Guardar y salir
  3. Enviar clave PÚBLICA a alguien con permisos de administración del repositorio, para que la incluya en la sección "deploy keys"

    cat ~/.ssh/id_rsa_pythonvigoweb.pub
  4. Activar el entorno virtual y situarse dentro de la carpeta donde queramos tener el proyecto de la web de python Vigo

  5. Clonar repositorio de pythonvigo web con el siguiente comando

    OJO!! NO es el mismo comando que se ve cuando entramos en github. Este hace referencia al alias que configuramos en el paso 2

    git clone git@pythonvigoweb:python-vigo/python-vigo.github.io.git
  6. Instalar las dependencias

    La rama del repositorio sobre la que hay que trabajar es "src" NUNCA ha de tocarse "master" ya que el contenido de esa rama es autogenerado con los despliegues.

    git checkout src
    pip install -r requirements.txt
  7. Esperar a que los admin incluyan la clave en el repositorio

    En cuanto los administradores incluyan la clave pública recién creada en la configuración del repositorio, se podrá construir y desplegar automáticamente cualquier cambio hecho en el código de la rama "src" con el comando:

    nikola github_deploy

Configurar entorno SIN permisos de despliegue

Pull requests (Linux)

---------> TO DO <---------