-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Summary
Set up automatic Ansible playbook runs when new changes are pushed to this repo's master branch
Background
Currently, changes are still pushed manually by FOSSRIT sysadmins. You have to manually run a playbook when a change is made. It's more convenient and less work to maintain if there were a triggered event to deploy new changes when a pull request is merged to the master branch of this repo.
This way, anyone can contribute without having SSH access to the servers, and still see their changes go through once the PR is merged. The emphasis changes from SSH access to commit access on this repository.
Additional protections are required on master branch once this is set up.
Details
I see Fedora Infrastructure does this with a special machine dedicated only to running Ansible playbooks. I envision this step-by-step process for how it might work:
- Pull request is merged into
masteron FOSSRIT/infrastructure - Webhook / trigger is sent to remote server (or cronjobs could be used?)
- Ansible playbook run occurs on playbook server
- Changes push out across infrastructure
- Logs are captured in case of failure with Ansible playbook
Outcome
- Moving responsibility to git commit access from remote account / SSH account access
- Automated deployment process after a PR is merged that does not require humans (and outlasts my time as a student at RIT)