praekelt.recipe.deploy es una receta buildout hacer remota versionado despliega trivial.
Crea un bin / script con el que se puede implementar fácilmente despliegues a servidores remotos. Utiliza Tela para comunicar y ejecutar comandos en servidores remotos.
Nota: Esta receta está en desarrollo activo y no se ha probado completamente en un entorno de producción. Úselo bajo su propio riesgo.
El proceso de despliegue procede como sigue:
& Nbsp; 1. Se accede a la máquina remota como se especifica en host.
& Nbsp; 2. Una nueva estructura de ruta de liberación se crea utilizando este patrón:
& Nbsp; 3. El repositorio git como se especifica en git_url se clona.
& Nbsp; 4. Rama del repo recién clonado se cambia a la rama como se especifica en git_branch. Si no se especifica git_branch se produce ningún interruptor
& Nbsp; 5. Los recursos compartidos como se especifica en shared_resources se copian de la versión actual (si está presente) para la liberación de nueva creación.
& Nbsp; 6. Boostrap.py del Buildout se ejecuta utilizando el ejecutable python como se especifica en python_exec y un archivo de configuración Buildout como se especifica en conf_file. Python se utiliza por defecto si no se especifica python_exec, buildout.cfg se utiliza por defecto si no se especifica conf_file.
& Nbsp; 7. El Buildout se ejecuta utilizando un archivo de configuración Buildout como se especifica en conf_file. buildout.cfg se utiliza por defecto si no se especifica conf_file.
& Nbsp; 8. El
& Nbsp; 9. Supervisor se actualiza ($ actualización supervisorctl) si update_supervisor se especifica como verdadera.
& Nbsp; 10. Cada comando se especifica en initd_commands se ejecuta en orden.
Uso:
Añadir un papel en buildout.cfg así:
[Construir]
partes = despliegan
[Implementar]
receta = praekelt.recipe.deploy
git_url = git@github.com: me / projectx.git
host = www.protectx.com
root_path = / var / www / ProjectX
Ejecutar el buildout agregará un script de despliegue con el mismo nombre que su parte despliegue en el directorio / bin. En este caso bin / implementar. El script resultante desplegará git@github.com: me / projectx.git a la ruta / var / www / ProjectX de www.projectx.com.
Opciones
as_user
& Nbsp; del usuario como para realizar el despliegue. Se utiliza para los permisos de configuración adecuada y clonar desde github. El valor predeterminado es 'www-data ".
conf_file
& Nbsp; archivo cfg Buildout con el que se ejecute boostrap y buildout. El valor predeterminado es 'buildout.cfg'.
deploy_key_path
& Nbsp; Camino en sede de clave para usar cuando se clona el repositorio.
git_branch
& Nbsp; Git repo rama con la que realizar el despliegue.
git_url
& Nbsp; Git repo con el que se realizará el despliegue. Obligatorio.
anfitrión
& Nbsp; Nombre de host en el que se realice despliegue. Obligatorio.
initd_commands
& Nbsp; init.d comandos para ejecutar después de un despliegue completado. es decir, nginx reinicio.
python_exec
& Nbsp; de comandos de Python con el cual boostrap Buildout. El valor predeterminado es 'python'.
root_path
& Nbsp; ruta raíz en el que se realizará el despliegue. estructura camino actual / release se creará dentro de este camino. Obligatorio.
shared_resources
& Nbsp; caminos de Recursos para copiar al otro lado de la versión actual a la nueva versión en cada despliegue.
update_supervisor
& Nbsp; si se actualizan o no supervisor. El valor predeterminado es 'falso'.
Full Ejemplo
El siguiente ejemplo ilustra todas las opciones disponibles:
[Construir]
partes = despliegan
[Implementar]
receta = praekelt.recipe.deploy
as_user = www-data
conf_file = production.cfg
deploy_key_path = /var/www/.ssh/projectx_deploy_key
git_branch = producción
git_url = git@github.com: me / projectx.git
host = www.protectx.com
initd_commands = nginx reinicio
python_exec = python2.5
root_path = / var / www / ProjectX
shared_resources =
& nbsp; huevos
& nbsp; descargas
& Nbsp; log
& nbsp; los medios de comunicación
update_supervisor = True
El script resultante desplegará git@github.com: rama de producción mí / de projectx.git a / var / www ruta de www.projectx.com / ProjectX como usuario www-data. El repositorio git se clonó utilizando /var/www/.ssh/projectx_deploy_key como claves ssh. Los huevos, descargas, registro y caminos de los medios se copiarán de la versión actual de este nuevo lanzamiento. El entorno buildout se creará utilizando python2.5 y ejecutar utilizando production.cfg como archivo de configuración. Después de que el supervisor de buildout completa se actualizará y se llevará a cabo el reinicio /etc/init.d/nginx
¿Qué hay de nuevo en esta versión:.
- Actualización de supervisor Más forcefull.
¿Qué hay de nuevo en la versión 0.1.2:.
- Permitir comandos supervisorctl
¿Cuál es nuevo en la versión 0.1.1:.
- de línea de comandos Añadido suministro creds git
¿Qué hay de nuevo en la versión 0.1.0:.
- opción deploy_latest_tag añadió
- fallar en cuestiones init.d.
¿Qué hay de nuevo en la versión 0.0.9:.
- bug apply.pp Resuelta li>
¿Qué hay de nuevo en la versión 0.0.7:.
- opción de comando Añadido contraseña env
- opción de línea de comandos vigor Añadido pasar confirmación instrucciones.
¿Cuál es nuevo en la versión 0.0.6:.
- Se ha añadido soporte para https git urls
¿Qué hay de nuevo en la versión 0.0.5:.
- Añadido opciones más recientes y detallados
¿Cuál es nuevo en la versión 0.0.3:
- Agregado cron_commands parámetro. Permita que para ciertas anulaciones argumento guión.
Requisitos
- Python
Comentarios que no se encuentran