From fd347fa6001fdddbf222b78a926b2f25c9498128 Mon Sep 17 00:00:00 2001 From: "Dustin C. Hatch" Date: Sun, 8 Apr 2018 11:59:18 -0500 Subject: [PATCH] roles/jenkins-slave: Prepare host for Jenkins The *jenkins-slave* role prepares a host to have the Jenkins slave agent deployed on it. Deploying the agent itself is done by the Jenkins master, through the web UI. --- roles/jenkins-slave/tasks/main.yml | 42 ++++++++++++++++++++++++++++++ roles/jenkins-slave/vars/main.yml | 3 +++ 2 files changed, 45 insertions(+) create mode 100644 roles/jenkins-slave/tasks/main.yml create mode 100644 roles/jenkins-slave/vars/main.yml diff --git a/roles/jenkins-slave/tasks/main.yml b/roles/jenkins-slave/tasks/main.yml new file mode 100644 index 0000000..8c645f3 --- /dev/null +++ b/roles/jenkins-slave/tasks/main.yml @@ -0,0 +1,42 @@ +- name: ensure required packages are installed + package: + name={{ jenkins_slave_required_packages|join(',') }} + state=present + tags: + - install + +- name: ensure jenkins group exists + group: + name=jenkins + system=yes +- name: ensure jenkins user exists + user: + name=jenkins + system=yes + home=/var/lib/jenkins + createhome=yes + groups=jenkins + append=yes + state=present +- name: ensure jenkins home directory permissions are correct + file: + path=/var/lib/jenkins + owner=jenkins + group=jenkins + mode=0755 + state=directory + +- name: ensure jenkins ssh client directory exists + file: + path=/var/lib/jenkins/.ssh + owner=jenkins + group=jenkins + mode=0700 + setype=ssh_home_t + state=directory +- name: ensure jenkins master ssh key is authorized + authorized_key: + user: jenkins + key: '{{ jenkins_master_ssh_key }}' + state: present + when: jenkins_master_ssh_key is defined diff --git a/roles/jenkins-slave/vars/main.yml b/roles/jenkins-slave/vars/main.yml new file mode 100644 index 0000000..75d7830 --- /dev/null +++ b/roles/jenkins-slave/vars/main.yml @@ -0,0 +1,3 @@ +jenkins_slave_required_packages: +- git-core +- java-1.8.0-openjdk-headless