Substituindo Capistrano por Ansible

Se você atualmente implanta seu projeto com Capistrano, mas começou o provisionamento com Ansible, tente substituir o Capistrano completamente por esta função Ansible no Galaxy:

Projeto de implantação

https://galaxy.ansible.com/list#/roles/732

Um exemplo de manual para implantações (para um projeto Symfony) seria tão simples quanto:

---
- name: Deploy the application
hosts
: production
remote_user
: "{{ production_deploy_user }}"
sudo
: no

vars
:
project_root
: "/path/to/root"
project_git_repo
: "https://github.com/user/repo"
project_deploy_strategy
: git

project_environment
:
SYMFONY_ENV
: "prod"

project_shared_children
:
- path: "/app/sessions"
src
: "sessions"
- path: "/web/uploads"
src
: "uploads"

project_templates
:
- name: parameters.yml
src
: "templates/parameters.yml.j2"
dest
: "/app/config/parameters.yml"

project_has_composer
: yes

project_post_build_commands
:
- "app/console cache:clear"
- "app/console doctrine:migrations:migrate --no-interaction"
- "app/console assets:install"
- "app/console assetic:dump"

roles
:
- f500.project_deploy

Este exemplo foi retirado de https://github.com/SweetLakePHP/SweetLakePHP


Ou, se estiver se sentindo ousado, tente escrever sua própria função com base no módulo deploy_helper você mesmo:

Módulo de implantação de projeto

https://galaxy.ansible.com/list#/roles/2266