https://github.com/firehed/ansible-composer-project
Ansible role: Deploy a Composer project
https://github.com/firehed/ansible-composer-project
Last synced: 5 months ago
JSON representation
Ansible role: Deploy a Composer project
- Host: GitHub
- URL: https://github.com/firehed/ansible-composer-project
- Owner: Firehed
- Created: 2015-10-28T23:20:14.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2015-11-06T21:00:10.000Z (over 10 years ago)
- Last Synced: 2025-04-07T20:53:57.712Z (about 1 year ago)
- Size: 137 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Composer Project Deployment
=========
Deploy a Composer project (including installing dependencies, etc) to a remote server, using a typical "symlink swap" technique.
Your web server (nginx, apache) should point to `{{ composer_dest }}/{{ composer_live_directory }}` as a starting point.
Assuming your project includes a `public` directory, or similar, you will still need to include that in your webserver configuration.
If you need to perform any work on the server before the deployed code goes live, you may provide commands in `composer_pre_link_commands`.
This can be used to warm caches, prepare temp files, etc.
Any commands will be run in the new code's working directory, e.g. `/var/www/releases/20150101000000/`.
Requirements
------------
Composer must be installed *on the local machine*. The configured repo (and any of its Composer dependencies) must also be reachable *from the local machine*.
Role Variables
--------------
composer_repo: git@example.com:Some/Repo.git
composer_version: master
composer_dest: /var/www
composer_pre_link_commands: []
composer_www_user: nginx
composer_www_group: nginx
# These will probably not need to be changed
composer_release_directory: releases
composer_live_directory: current
Dependencies
------------
None
Example Playbook
----------------
- hosts: servers
roles:
- role: Firehed.composer-project
composer_repo: git@github.com:YourUsername/YourWebsite.git
composer_version: master
composer_dest: /var/www/yourwebsite
composer_www_user: nginx
composer_www_group: nginx
composer_pre_link_commands:
- ./vendor/bin/doctrine orm:generate-proxies
License
-------
MIT