Replacing Capistrano with Ansible
If you currently deploy your project with Capistrano but you've started provisioning with Ansible, try replacing Capistrano altogether with this Ansible role in the Galaxy:
Project Deploy
https://galaxy.ansible.com/list#/roles/732
An example playbook for deployments (for a Symfony Project) would look as simple as:
---
- 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
This example was taken from https://github.com/SweetLakePHP/SweetLakePHP
Or, if you're feeling bold, try writing your own role based on the deploy_helper module yourself:
Project Deploy Module
Written by Ramon de la Fuente
Related protips
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Capistrano
Authors
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#