praekelt.recipe.deploy é uma receita buildout fazer remoto controle de versão implanta trivial.
Cria uma bin / script com o qual você pode facilmente implantar buildouts a servidores remotos. Tecido usa para se comunicar e executar comandos em servidores remotos.
NOTA: Esta receita está em desenvolvimento ativo e não foi totalmente testados em um ambiente de produção. Use por sua conta e risco.
O processo de implantação prossegue da seguinte forma:
& Nbsp; 1. O host remoto, conforme especificado no host é acessado.
& Nbsp; 2. Uma nova estrutura de caminho de liberação é criado usando esse padrão:
& Nbsp; 3. O repositório git, conforme especificado no git_url é clonado.
& Nbsp; 4. Filial da repo recém-clonado está ligado ao ramo, conforme especificado no git_branch. Se não for especificado git_branch ocorre não há troca de
& Nbsp; 5. Recursos partilhados, conforme especificado no shared_resources são copiados da versão atual (se houver) para a versão recém-criado.
& Nbsp; 6. Boostrap.py do buildout é executado utilizando o executável python, conforme especificado no python_exec e um arquivo de configuração buildout, conforme especificado no conf_file. python é usado por padrão se python_exec não for especificado, buildout.cfg é usado por padrão se conf_file não é especificado.
& Nbsp; 7. O buildout é executado utilizando um arquivo de configuração buildout, conforme especificado no conf_file. buildout.cfg é usado por padrão se conf_file não é especificado.
& Nbsp; 8. O
& Nbsp; 9. Supervisor é atualizado (atualização $ supervisorctl) se update_supervisor é especificada como True.
& Nbsp; 10. Cada comando especificado na initd_commands é executado em ordem.
Uso:
Adicionar uma parte em buildout.cfg assim:
[Buildout]
peças = implantar
[Implementar]
receita = praekelt.recipe.deploy
git_url = git@github.com: me / projectx.git
host = www.protectx.com
root_path = / var / www / projectx
Executando o buildout irá adicionar um script de deploy com o mesmo nome de sua parte deploy no diretório / bin. Neste caso bin / implantar. O script resultante irá implantar git@github.com: me / projectx.git para www.projectx.com do caminho / var / www / projectx.
Opções
as_user
& Nbsp; do usuário como que para realizar o deploy. Usado para permissões de instalação adequada e para clonar a partir de github. O padrão é "www-data '.
conf_file
& Nbsp; arquivo cfg buildout com a qual executar boostrap e buildout. O padrão é 'buildout.cfg'.
deploy_key_path
& Nbsp; Caminho no anfitrião a chave para usar ao clonar o repo.
git_branch
& Nbsp; Git repo ramo com a qual para realizar o deploy.
git_url
& Nbsp; Git repo com a qual para realizar o deploy. Requeridos.
hospedeiro
& Nbsp; Hostname no qual executar deploy. Requeridos.
initd_commands
& Nbsp; init.d comandos para executar após uma implantação concluída. isto é nginx reinício.
python_exec
& Nbsp; de comando do Python com o qual boostrap buildout. O padrão é 'python'.
root_path
& Nbsp; Caminho raiz no qual executar o deploy. estrutura atual caminho / release será criado dentro desse caminho. Requeridos.
shared_resources
& Nbsp; caminhos de recursos para copiar em frente a partir da versão atual para a nova versão em cada deploy.
update_supervisor
& Nbsp; Se deve ou não atualizar supervisor. O padrão é 'false'.
Inteiro Exemplo
O exemplo a seguir ilustra todas as opções disponíveis:
[Buildout]
peças = implantar
[Implementar]
receita = praekelt.recipe.deploy
as_user = www-data
conf_file = production.cfg
deploy_key_path = /var/www/.ssh/projectx_deploy_key
git_branch = produção
git_url = git@github.com: me / projectx.git
host = www.protectx.com
initd_commands = nginx restart
python_exec = python2.5
root_path = / var / www / projectx
shared_resources =
& nbsp; ovos
& nbsp; de downloads
& Nbsp; log
& nbsp; media
update_supervisor = True
O script resultante irá implantar git@github.com: ramo de produção me / de projectx.git para www.projectx.com de / var / www / path projectx como usuário www-data. O repositório git será clonado utilizando /var/www/.ssh/projectx_deploy_key como chave ssh. Os ovos, os downloads, faça o login e caminhos de mídia serão copiados a partir da versão atual para esta nova versão. O ambiente buildout será criado usando python2.5 e executar usando production.cfg como arquivo de configuração. Após o buildout completa supervisor será atualizado e /etc/init.d/nginx reinício será executado
O que é novo nesta versão:.
- atualização supervisor Mais forcefull.
O que é novo na versão 0.1.2:.
- Permitir comandos supervisorctl
O que é novo na versão 0.1.1:.
- linha de comando git Adicionado fornecimento creds
O que é novo na versão 0.1.0:.
- opção deploy_latest_tag adicionado
- falhar em questões init.d.
O que é novo na versão 0.0.9:.
- bug apply.pp votação
O que é novo na versão 0.0.7:.
- Adicionado opção de comando senha env
- opção de linha de comando força Adicionado ignorando confirmação prompts.
O que é novo na versão 0.0.6:.
- Adicionado suporte para https git urls
O que é novo na versão 0.0.5:.
- Adicionado opções mais recentes e verboso
O que é novo na versão 0.0.3:
- Adicionado cron_commands parâmetro. Permitir para determinadas substituições argumento script.
Requisitos :
- Python
Comentários não encontrado