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