This is an ansible playbook to install and configure Jenkins-CI.
Note As of 2023, we have migrated all our CI/CD workflows to GitHub Actions and no longer use Jenkins.
The playbook will install NGINX, Docker, a local-only SMTP server and Jenkins. It will also install Docker-maintenance cron jobs and Jenkins-backup scripts to S3.
This playbook assumes that the instance is behind an elb and the elb will do its SSL termination. The ssl certificate can be obtained using AWS ACM or can be manually uploaded
This playbook is a rework of the ee-infra-jenkins
- SSH to host you want to run this
- Install
git
andansible
- Clone this repository to a location
- Run the playbook
ansible-playbook site.yml -e "nginx_htpasswd=YourPasswordHere jenkins_backup_bucket=BucketNameHere jenkins_backup_dms=deadmanssitchurl jenkins_backup_directory=backupdirpath papertrail_host=papertrailurl papertrail_port=papertrailport"
Currently this playbook is being used as part of an autoscaling group userdata that clones and runs this playbook on boot.
This playbook expects that you use the ThinBackup Jenkins plugin and that you save backups in /data/backups
.