From 1500a348978ab990740c9b2025681b16187e3d9e Mon Sep 17 00:00:00 2001 From: Ken Dreyer Date: Thu, 22 Oct 2015 10:12:39 -0600 Subject: [PATCH] ansible: merge back in Ubuntu support We originally copied this role from https://github.com/ICTO/ansible-jenkins, and then modified it to support CentOS. As it turns out, our master runs on Ubuntu (Trusty), so we still need the Ubuntu bits. Add them back in here. --- .../roles/ansible-jenkins/tasks/config.yml | 7 +++--- .../ansible-jenkins/tasks/dependencies.yml | 16 ++++++++++++++ .../tasks/dependencies_yum.yml | 8 ------- .../roles/ansible-jenkins/tasks/jenkins.yml | 12 ++++++---- ansible/roles/ansible-jenkins/tasks/repo.yml | 22 +++++++++++++++++++ ansible/roles/ansible-jenkins/vars/main.yml | 7 ++++++ 6 files changed, 57 insertions(+), 15 deletions(-) create mode 100644 ansible/roles/ansible-jenkins/tasks/dependencies.yml delete mode 100644 ansible/roles/ansible-jenkins/tasks/dependencies_yum.yml diff --git a/ansible/roles/ansible-jenkins/tasks/config.yml b/ansible/roles/ansible-jenkins/tasks/config.yml index f32c8819..16d26b78 100644 --- a/ansible/roles/ansible-jenkins/tasks/config.yml +++ b/ansible/roles/ansible-jenkins/tasks/config.yml @@ -2,7 +2,7 @@ - name: Configure Jenkins Port lineinfile: - dest: /etc/sysconfig/jenkins + dest: '{{ jenkins.apt.config_file }}' regexp: ^HTTP_PORT= line: HTTP_PORT={{port}} backrefs: yes @@ -30,7 +30,7 @@ - name: Configure Jenkins Prefix when: prefix is defined lineinfile: - dest: /etc/sysconfig/jenkins + dest: '{{ jenkins.apt.config_file }}' regexp: ^PREFIX= line: PREFIX={{prefix}} backrefs: yes @@ -38,7 +38,7 @@ - name: Set the amount of RAM when: xmx is defined lineinfile: - dest: /etc/sysconfig/jenkins + dest: '{{ jenkins.apt.config_file }}' regexp: ^JENKINS_JAVA_OPTIONS line: 'JENKINS_JAVA_OPTIONS="-Xmx{{xmx}}m -Djava.awt.headless=true"' backrefs: yes @@ -54,6 +54,7 @@ - name: Tell SELinux that we should allow Nginx to talk to Jenkins seboolean: name=httpd_can_network_connect state=yes persistent=yes + when: ansible_pkg_mgr == "yum" - name: copy JJB config file to {{ jenkins_jobs }} synchronize: diff --git a/ansible/roles/ansible-jenkins/tasks/dependencies.yml b/ansible/roles/ansible-jenkins/tasks/dependencies.yml new file mode 100644 index 00000000..3f29e74c --- /dev/null +++ b/ansible/roles/ansible-jenkins/tasks/dependencies.yml @@ -0,0 +1,16 @@ +--- + +- name: epel-release install + yum: name=epel-release + state=present + when: ansible_pkg_mgr == "yum" + +- name: Install RPM dependencies + yum: name={{ item }} state=installed + with_items: jenkins.{{ ansible_pkg_mgr }}.dependencies + when: ansible_pkg_mgr == "yum" + +- name: Install DEB dependencies + apt: name={{ item }} state=installed + with_items: jenkins.{{ ansible_pkg_mgr }}.dependencies + when: ansible_pkg_mgr == "apt" diff --git a/ansible/roles/ansible-jenkins/tasks/dependencies_yum.yml b/ansible/roles/ansible-jenkins/tasks/dependencies_yum.yml deleted file mode 100644 index 10961e25..00000000 --- a/ansible/roles/ansible-jenkins/tasks/dependencies_yum.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- - -- name: epel-release install - yum: name=epel-release - state=present -- name: Install dependencies - yum: name={{ item }} state=installed - with_items: jenkins.yum.dependencies diff --git a/ansible/roles/ansible-jenkins/tasks/jenkins.yml b/ansible/roles/ansible-jenkins/tasks/jenkins.yml index 81008dc5..f94d7ea2 100644 --- a/ansible/roles/ansible-jenkins/tasks/jenkins.yml +++ b/ansible/roles/ansible-jenkins/tasks/jenkins.yml @@ -1,15 +1,19 @@ --- - include: repo.yml - when: ansible_pkg_mgr == "yum" -- include: dependencies_yum.yml - when: ansible_pkg_mgr == "yum" +- include: dependencies.yml - include: nginx.yml -- name: Install Jenkins +- name: Install Jenkins with Yum yum: name=jenkins state=present register: jenkins_install + when: ansible_pkg_mgr == "yum" + +- name: Install Jenkins with Apt + apt: name=jenkins state=present + register: jenkins_install + when: ansible_pkg_mgr == "apt" - include: config.yml diff --git a/ansible/roles/ansible-jenkins/tasks/repo.yml b/ansible/roles/ansible-jenkins/tasks/repo.yml index d6e40664..5ee036c6 100644 --- a/ansible/roles/ansible-jenkins/tasks/repo.yml +++ b/ansible/roles/ansible-jenkins/tasks/repo.yml @@ -1,12 +1,18 @@ --- + +# Yum + - name: Install python-devel yum: name=python-devel state=present + when: ansible_pkg_mgr == "yum" - name: Install python-pycurl yum: name=python-pycurl state=present + when: ansible_pkg_mgr == "yum" - name: Add Jenkins GPG Key rpm_key: state=present key=https://jenkins-ci.org/redhat/jenkins-ci.org.key + when: ansible_pkg_mgr == "yum" - name: Create the repo file for Jenkins copy: src=jenkins.repo @@ -14,3 +20,19 @@ owner=root group=root mode=0644 + when: ansible_pkg_mgr == "yum" + +# Apt + +- name: Add Jenkins GPG Key + apt_key: + url: "https://jenkins-ci.org/debian/jenkins-ci.org.key" + state: present + when: ansible_pkg_mgr == "apt" + +- name: Add the jenkins repo + apt_repository: + repo: 'deb http://pkg.jenkins-ci.org/debian binary/' + state: present + update_cache: true + when: ansible_pkg_mgr == "apt" diff --git a/ansible/roles/ansible-jenkins/vars/main.yml b/ansible/roles/ansible-jenkins/vars/main.yml index de34459a..9f409225 100644 --- a/ansible/roles/ansible-jenkins/vars/main.yml +++ b/ansible/roles/ansible-jenkins/vars/main.yml @@ -11,5 +11,12 @@ jenkins: - 'git' - 'curl' - 'nginx' + config_file: '/etc/sysconfig/jenkins' + apt: + dependencies: # Jenkins dependencies + - 'git' + - 'curl' + - 'nginx' + config_file: '/etc/default/jenkins' cli_dest: '{{ jenkins_dest }}/jenkins-cli.jar' # Jenkins CLI destination updates_dest: '{{ jenkins_dest }}/updates_jenkins.json' # Jenkins updates file -- 2.47.3