| - name: Configure TCP Keep-Alive |
| copy: |
| src: 50-ci-agent.sysctl.conf |
| dest: /etc/sysctl.d/50-ci-agent.conf |
| mode: 0644 |
| |
| - name: Load TCP Keep-Alive configuration |
| script: /sbin/sysctl --load /etc/sysctl.d/50-ci-agent.conf |
| |
| - name: Install Docker gpg key for Apt |
| apt_key: |
| url: https://download.docker.com/linux/debian/gpg |
| state: present |
| |
| - name: Setup Docker Apt repository |
| apt_repository: |
| repo: deb https://download.docker.com/linux/debian {{ ansible_distribution_release }} stable |
| filename: docker |
| state: present |
| |
| - name: Install Docker Packages |
| apt: |
| name: "{{ packages }}" |
| vars: |
| packages: |
| - containerd.io |
| - docker-ce |
| - docker-ce-cli |
| |
| - name: Install multi-architecture support for Docker |
| apt: |
| name: "{{ packages }}" |
| state: latest |
| vars: |
| packages: |
| - binfmt-support |
| - qemu |
| - qemu-user-static |
| |
| - name: Install Java 8 |
| apt: |
| name: "{{ packages }}" |
| state: latest |
| vars: |
| packages: |
| - openjdk-8-jre-headless |
| |
| - name: Add group jenkins |
| group: |
| name: jenkins |
| gid: 910 |
| |
| - name: Add user jenkins |
| user: |
| name: jenkins |
| uid: 910 |
| groups: |
| - jenkins |
| - docker |
| state: present |
| shell: /bin/bash |
| |
| - name: Install kill-old-docker.sh |
| copy: |
| src: kill-old-docker.sh |
| dest: /usr/local/bin/kill-old-docker.sh |
| mode: 0755 |
| |
| - name: Add kill-old-docker.sh cron entry |
| cron: |
| name: Kill old docker containers |
| hour: '19' |
| job: /usr/local/bin/kill-old-docker.sh |
| |
| - name: Add docker prune cron entry |
| cron: |
| name: Docker prune |
| hour: '19' |
| job: /usr/bin/docker system prune -a -f --filter "until=72h" |
| |
| - name: Create Jenkins runit service directory |
| file: |
| path: /etc/sv/jenkins |
| state: directory |
| |
| - name: Create Jenkins runit log directory |
| file: |
| path: /etc/sv/jenkins/log/main |
| state: directory |
| |
| - name : Create Jenkins runit run script |
| template: |
| src: runit-main.j2 |
| dest: /etc/sv/jenkins/run |
| mode: 0755 |
| |
| - name: Create Jenkins runit logs run script |
| copy: |
| src: runit-logs |
| dest: /etc/sv/jenkins/log/run |
| mode: 0755 |
| |
| - name: Enable Jenkins runit service |
| file: |
| src: /etc/sv/jenkins |
| dest: /etc/service/jenkins |
| state: link |
| |
| |