From 8a2c9375d86dad17d702f4f52a4554980fe0f195 Mon Sep 17 00:00:00 2001 From: Evgeny Sikachev Date: Mon, 7 Aug 2017 18:12:48 +0000 Subject: [PATCH] Added playbook for jjb Change-Id: Ib5b539375fed1db99c7882f91cce34d0fbe6f520 --- config/jjb/jenkins_jobs.ini | 6 ---- system-configs/ansible/group_vars/all | 6 ++++ .../ansible/roles/common/tasks/main.yml | 2 ++ .../ansible/roles/jjb/tasks/main.yml | 34 +++++++++++++++++++ .../roles/jjb/templates/credentials.conf.j2 | 0 .../roles/jjb/templates/jenkins_jobs.ini.j2 | 7 ++++ system-configs/ansible/site.yml | 5 +++ 7 files changed, 54 insertions(+), 6 deletions(-) delete mode 100644 config/jjb/jenkins_jobs.ini create mode 100644 system-configs/ansible/roles/jjb/tasks/main.yml rename config/jjb/credentials.conf => system-configs/ansible/roles/jjb/templates/credentials.conf.j2 (100%) create mode 100644 system-configs/ansible/roles/jjb/templates/jenkins_jobs.ini.j2 diff --git a/config/jjb/jenkins_jobs.ini b/config/jjb/jenkins_jobs.ini deleted file mode 100644 index 493f61ed..00000000 --- a/config/jjb/jenkins_jobs.ini +++ /dev/null @@ -1,6 +0,0 @@ -[jenkins] -user=USER -password=PASSWORD -url=http://127.0.0.1/jenkins -[job_builder] -ignore_cache=True diff --git a/system-configs/ansible/group_vars/all b/system-configs/ansible/group_vars/all index 0e2126c2..aaa328cd 100644 --- a/system-configs/ansible/group_vars/all +++ b/system-configs/ansible/group_vars/all @@ -13,7 +13,13 @@ parameterized-trigger, pathignore, postbuild-task, project-stats-plugin, publish publish-over-ssh, rebuild, ruby-runtime, run-condition, scm-api, scp, simple-theme-plugin, ssh-agent, ssh-credentials, ssh-slaves, subversion, timestamper, token-macro, translation, windows-slaves, ws-cleanup, zmq-event-publisher] +jenkins_user: jenkins # Zuul params zuul_user: zuul zuul_git_url: git://git.openstack.org/openstack-infra/zuul + +# jjb params +jjb_git_url: git://git.openstack.org/openstack-infra/jenkins-job-builder +jjb_auth_username: admin +jjb_auth_password: admin diff --git a/system-configs/ansible/roles/common/tasks/main.yml b/system-configs/ansible/roles/common/tasks/main.yml index 6ea8a010..88e59f25 100644 --- a/system-configs/ansible/roles/common/tasks/main.yml +++ b/system-configs/ansible/roles/common/tasks/main.yml @@ -36,6 +36,7 @@ with_items: - nodepool - zuul + - "{{ jenkins_user }}" - name: Create users user: @@ -45,3 +46,4 @@ with_items: - nodepool - zuul + - "{{ jenkins_user }}" diff --git a/system-configs/ansible/roles/jjb/tasks/main.yml b/system-configs/ansible/roles/jjb/tasks/main.yml new file mode 100644 index 00000000..255a301b --- /dev/null +++ b/system-configs/ansible/roles/jjb/tasks/main.yml @@ -0,0 +1,34 @@ +--- +- name: Create jjb directories + file: + path: "{{ item }}" + owner: "{{ jenkins_user }}" + group: "{{ jenkins_user }}" + mode: 0755 + state: directory + with_items: + - /etc/jenkins_jobs + - "{{ ci_dir }}/jjb" + +- name: Clone jjb repo + git: + repo: "{{ jjb_git_url }}" + dest: "{{ ci_dir}}/jjb" + become: true + become_user: "{{ jenkins_user }}" + +- name: Install jjb to virtualenv + command: tox -e venv --notest + args: + chdir: "{{ ci_dir }}/jjb" + become: true + become_user: "{{ jenkins_user }}" + +- name: Copy configs + template: + src: "{{ item }}.j2" + dest: "/etc/jenkins_jobs/{{ item }}" + become: true + with_items: + - credentials.conf + - jenkins_jobs.ini diff --git a/config/jjb/credentials.conf b/system-configs/ansible/roles/jjb/templates/credentials.conf.j2 similarity index 100% rename from config/jjb/credentials.conf rename to system-configs/ansible/roles/jjb/templates/credentials.conf.j2 diff --git a/system-configs/ansible/roles/jjb/templates/jenkins_jobs.ini.j2 b/system-configs/ansible/roles/jjb/templates/jenkins_jobs.ini.j2 new file mode 100644 index 00000000..485452c5 --- /dev/null +++ b/system-configs/ansible/roles/jjb/templates/jenkins_jobs.ini.j2 @@ -0,0 +1,7 @@ +[jenkins] +user={{ jjb_auth_username }} +password={{ jjb_auth_password }} +#TODO(esikachev): Change 8080 to /jenkins +url=http://127.0.0.1:8080 +[job_builder] +ignore_cache=True diff --git a/system-configs/ansible/site.yml b/system-configs/ansible/site.yml index 6397dbb3..1fad25ed 100644 --- a/system-configs/ansible/site.yml +++ b/system-configs/ansible/site.yml @@ -19,6 +19,11 @@ mode: 0755 state: directory +- name: Install jjb + hosts: localhost + roles: + - jjb + - name: Install zuul hosts: localhost roles: