A set of Ansible roles and wrapper scripts to deploy (web) applications.
The "stack" from this repo is to be installed on a "deploy" server/runner, to be used in conjonction with a CI/CD tool (Jenkins, Gitlab, Travis, ...). It allows the deploy steps for a given app to be easily customisable and to be stored alongside the codebase of the project. When triggered from a deployment tool, the stack will clone the codebase and "play" a given deploy playbook from there.
The stack only gets tested on Debian Linux, but should run on any Linux distribution, as long as Ansible >=2.9 is present. You can install either:
More installation instructions can be found here.
While you can re-use/fork roles or call playbooks directly from your deployment tool, it is recommended to use the provided wrapper scripts, as they will take care of setting up the needed environments.
Ansible roles and group of roles that constitute the deploy stack.
- Sync roles - roles that sync data/assets between environments.
- "Meta" - roles that bundles other individual roles together for tackling common use cases.
- Data backups - generate backups for each build.
- Cron - roles to generate cron entries.
- Code deployment - roles managing the codebase: deployment, symlinks, composer steps, ...
- CLI Tools - roles to install app-specific cli tool and utilities (Drush, cachetool, ...)