From 7258cb04fd7492315628473c416e788ba3a5aaf8 Mon Sep 17 00:00:00 2001 From: Timo Makinen Date: Tue, 23 Mar 2021 21:44:35 +0000 Subject: [PATCH] jenkins: Initial version of role --- roles/jenkins/handlers/main.yml | 5 +++ roles/jenkins/meta/main.yml | 3 ++ roles/jenkins/tasks/main.yml | 72 +++++++++++++++++++++++++++++++++ 3 files changed, 80 insertions(+) create mode 100644 roles/jenkins/handlers/main.yml create mode 100644 roles/jenkins/meta/main.yml create mode 100644 roles/jenkins/tasks/main.yml diff --git a/roles/jenkins/handlers/main.yml b/roles/jenkins/handlers/main.yml new file mode 100644 index 0000000..ee1510c --- /dev/null +++ b/roles/jenkins/handlers/main.yml @@ -0,0 +1,5 @@ +--- +- name: restart jenkins + service: + name: jenkins + state: restarted diff --git a/roles/jenkins/meta/main.yml b/roles/jenkins/meta/main.yml new file mode 100644 index 0000000..b95ceec --- /dev/null +++ b/roles/jenkins/meta/main.yml @@ -0,0 +1,3 @@ +--- +dependencies: + - {role: nginx/server} diff --git a/roles/jenkins/tasks/main.yml b/roles/jenkins/tasks/main.yml new file mode 100644 index 0000000..0a0c4c7 --- /dev/null +++ b/roles/jenkins/tasks/main.yml @@ -0,0 +1,72 @@ +--- +- name: add jenkins repository + yum_repository: + name: jenkins + description: Jenkins stable + baseurl: https://pkg.jenkins.io/redhat-stable + gpgcheck: true + gpgkey: https://pkg.jenkins.io/redhat-stable/jenkins.io.key + +- name: install packages + package: + name: "{{ item }}" + state: installed + with_items: + - jenkins + - java-1.8.0-openjdk + +- name: listen only to localhost + lineinfile: + path: /etc/sysconfig/jenkins + regexp: "^JENKINS_LISTEN_ADDRESS=.*" + line: "JENKINS_LISTEN_ADDRESS=localhost" + notify: restart jenkins + +- name: configure data directory + lineinfile: + path: /etc/sysconfig/jenkins + regexp: "^JENKINS_HOME=.*" + line: "JENKINS_HOME=/srv/jenkins" + notify: restart jenkins + +- name: create data directory + file: + path: /export/jenkins + state: directory + mode: 0750 + owner: jenkins + group: jenkins + +- name: link data directory + file: + dest: /srv/jenkins + src: /export/jenkins + state: link + owner: root + group: "{{ ansible_wheel }}" + follow: false + force: true + +- name: enable service + service: + name: jenkins + state: started + enabled: true + +- name: allow nginx to connect jenkins + seboolean: + name: httpd_can_network_connect + state: true + persistent: true + +- name: create nginx config + copy: + dest: "/etc/nginx/conf.d/{{ inventory_hostname }}/jenkins.conf" + content: | + location / { + proxy_pass http://localhost:8080/; + } + mode: 0644 + owner: root + group: "{{ ansible_wheel }}" + notify: restart nginx