You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@couchdb.apache.org by ba...@apache.org on 2015/08/16 19:47:26 UTC
[09/23] couchdb-ci git commit: split jenkins-master tasks/main.yml
split jenkins-master tasks/main.yml
+ remove superfluous indent in all yaml files
Project: http://git-wip-us.apache.org/repos/asf/couchdb-ci/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-ci/commit/d05361c7
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-ci/tree/d05361c7
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-ci/diff/d05361c7
Branch: refs/heads/master
Commit: d05361c76ad7e90ab0f7417e42fda162dd6a12a5
Parents: 6515f48
Author: Bastian Krol <ba...@web.de>
Authored: Mon Jul 6 11:00:06 2015 +0200
Committer: Bastian Krol <ba...@web.de>
Committed: Mon Jul 6 11:00:06 2015 +0200
----------------------------------------------------------------------
ansible/roles/jenkins-master/handlers/main.yml | 16 +--
ansible/roles/jenkins-master/tasks/jenkins.yml | 92 ++++++++++++++++
ansible/roles/jenkins-master/tasks/main.yml | 116 +-------------------
ansible/roles/jenkins-master/tasks/nginx.yml | 23 ++++
ansible/roles/jenkins-worker/tasks/main.yml | 38 +++----
ansible/roles/ubuntu/tasks/main.yml | 44 ++++----
6 files changed, 166 insertions(+), 163 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/d05361c7/ansible/roles/jenkins-master/handlers/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/jenkins-master/handlers/main.yml b/ansible/roles/jenkins-master/handlers/main.yml
index 36d74a1..a9a5dca 100644
--- a/ansible/roles/jenkins-master/handlers/main.yml
+++ b/ansible/roles/jenkins-master/handlers/main.yml
@@ -1,10 +1,10 @@
---
- - name: restart jenkins service
- service:
- name: jenkins
- state: restarted
+- name: restart jenkins service
+ service:
+ name: jenkins
+ state: restarted
- - name: restart nginx service
- service:
- name: nginx
- state: restarted
+- name: restart nginx service
+ service:
+ name: nginx
+ state: restarted
http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/d05361c7/ansible/roles/jenkins-master/tasks/jenkins.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/jenkins-master/tasks/jenkins.yml b/ansible/roles/jenkins-master/tasks/jenkins.yml
new file mode 100644
index 0000000..5983f1f
--- /dev/null
+++ b/ansible/roles/jenkins-master/tasks/jenkins.yml
@@ -0,0 +1,92 @@
+---
+- name: add apt-key for jenkins apt repo
+ apt_key:
+ url: https://jenkins-ci.org/debian/jenkins-ci.org.key
+ state: present
+
+- name: add jenkins apt repo
+ lineinfile:
+ dest: /etc/apt/sources.list.d/jenkins.list
+ line: "deb http://pkg.jenkins-ci.org/debian binary/"
+ state: present
+ create: true
+
+- name: install jenkins
+ apt:
+ name: jenkins
+ state: present
+ update_cache: yes # run apt-get update before apt-get install jenkins
+ # jenkins also installs a JDK 7 as its dependency
+
+- name: make private key dir
+ file:
+ path: /var/lib/jenkins/.ssh
+ state: directory
+ owner: jenkins
+ group: jenkins
+ mode: 0700
+
+# If this step fails, you are probably missing the private key for
+# master-worker communication. Please put the key into
+# ansible/roles/jenkins-master/files/keys/couchdb-ci-rsa before proceeding.
+# ---
+# TODO This should be improved! See http://stackoverflow.com/a/29399036, maybe we can use ansible vault.
+# ---
+- name: copy private key
+ copy:
+ src: keys/couchdb-ci-rsa
+ dest: /var/lib/jenkins/.ssh/id_rsa
+ owner: jenkins
+ group: jenkins
+ mode: 0600
+
+- name: create build job folder
+ file:
+ path: /var/lib/jenkins/jobs/build-couchdb/builds
+ owner: jenkins
+ group: jenkins
+ state: directory
+
+- name: create build job config
+ template:
+ src: jenkins/jobs/build-couchdb.xml
+ dest: /var/lib/jenkins/jobs/build-couchdb/config.xml
+ owner: jenkins
+ group: jenkins
+ notify: restart jenkins service
+
+- name: create nextBuildNumber file
+ copy:
+ dest: /var/lib/jenkins/jobs/build-couchdb/nextBuildNumber
+ content: "1"
+ force: no
+ owner: jenkins
+ group: jenkins
+
+- name: create credentials config for master-worker communication
+ template:
+ src: jenkins/credentials.xml
+ dest: /var/lib/jenkins/credentials.xml
+ owner: jenkins
+ group: jenkins
+ notify: restart jenkins service
+
+- name: create Ubuntu 14.04 worker folder
+ file:
+ path: /var/lib/jenkins/nodes/ubuntu1404
+ owner: jenkins
+ group: jenkins
+ state: directory
+
+- name: create Ubuntu 14.04 worker node config
+ template:
+ src: jenkins/nodes/ubuntu1404/config.xml
+ dest: /var/lib/jenkins/nodes/ubuntu1404/config.xml
+ owner: jenkins
+ group: jenkins
+ notify: restart jenkins service
+
+- name: start jenkins service
+ service:
+ name: jenkins
+ state: started
http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/d05361c7/ansible/roles/jenkins-master/tasks/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/jenkins-master/tasks/main.yml b/ansible/roles/jenkins-master/tasks/main.yml
index f9c32d0..b27ed50 100644
--- a/ansible/roles/jenkins-master/tasks/main.yml
+++ b/ansible/roles/jenkins-master/tasks/main.yml
@@ -1,115 +1,3 @@
---
- - name: add apt-key for jenkins apt repo
- apt_key:
- url: https://jenkins-ci.org/debian/jenkins-ci.org.key
- state: present
-
- - name: add jenkins apt repo
- lineinfile:
- dest: /etc/apt/sources.list.d/jenkins.list
- line: "deb http://pkg.jenkins-ci.org/debian binary/"
- state: present
- create: true
-
- - name: install jenkins
- apt:
- name: jenkins
- state: present
- update_cache: yes # run apt-get update before apt-get install jenkins
- # jenkins also installs a JDK 7 as its dependency
-
- - name: make private key dir
- file:
- path: /var/lib/jenkins/.ssh
- state: directory
- owner: jenkins
- group: jenkins
- mode: 0700
-
- # If this step fails, you are probably missing the private key for
- # master-worker communication. Please put the key into
- # ansible/roles/jenkins-master/files/keys/couchdb-ci-rsa before proceeding.
- # ---
- # TODO This should be improved! See http://stackoverflow.com/a/29399036, maybe we can use ansible vault.
- # ---
- - name: copy private key
- copy:
- src: keys/couchdb-ci-rsa
- dest: /var/lib/jenkins/.ssh/id_rsa
- owner: jenkins
- group: jenkins
- mode: 0600
-
- - name: create build job folder
- file:
- path: /var/lib/jenkins/jobs/build-couchdb/builds
- owner: jenkins
- group: jenkins
- state: directory
-
- - name: create build job config
- template:
- src: jenkins/jobs/build-couchdb.xml
- dest: /var/lib/jenkins/jobs/build-couchdb/config.xml
- owner: jenkins
- group: jenkins
- notify: restart jenkins service
-
- - name: create nextBuildNumber file
- copy:
- dest: /var/lib/jenkins/jobs/build-couchdb/nextBuildNumber
- content: "1"
- force: no
- owner: jenkins
- group: jenkins
-
- - name: create credentials config for master-worker communication
- template:
- src: jenkins/credentials.xml
- dest: /var/lib/jenkins/credentials.xml
- owner: jenkins
- group: jenkins
- notify: restart jenkins service
-
- - name: create Ubuntu 14.04 worker folder
- file:
- path: /var/lib/jenkins/nodes/ubuntu1404
- owner: jenkins
- group: jenkins
- state: directory
-
- - name: create Ubuntu 14.04 worker node config
- template:
- src: jenkins/nodes/ubuntu1404/config.xml
- dest: /var/lib/jenkins/nodes/ubuntu1404/config.xml
- owner: jenkins
- group: jenkins
- notify: restart jenkins service
-
- - name: start jenkins service
- service:
- name: jenkins
- state: started
-
- - name: install nginx
- apt:
- name: nginx
- state: present
-
- - name: remove default nginx site
- file: name={{ item }} state=absent
- with_items:
- - /etc/nginx/sites-available/default
- - /etc/nginx/sites-enabled/default
-
- - name: copy nginx config
- template:
- src: nginx/jenkins
- dest: /etc/nginx/sites-available/jenkins
- notify: restart nginx service
-
- - name: enable jenkins site
- file:
- src: /etc/nginx/sites-available/jenkins
- dest: /etc/nginx/sites-enabled/jenkins
- state: link
+- include: jenkins.yml
+- include: nginx.yml
http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/d05361c7/ansible/roles/jenkins-master/tasks/nginx.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/jenkins-master/tasks/nginx.yml b/ansible/roles/jenkins-master/tasks/nginx.yml
new file mode 100644
index 0000000..98234ad
--- /dev/null
+++ b/ansible/roles/jenkins-master/tasks/nginx.yml
@@ -0,0 +1,23 @@
+---
+- name: install nginx
+ apt:
+ name: nginx
+ state: present
+
+- name: remove default nginx site
+ file: name={{ item }} state=absent
+ with_items:
+ - /etc/nginx/sites-available/default
+ - /etc/nginx/sites-enabled/default
+
+- name: copy nginx config
+ template:
+ src: nginx/jenkins
+ dest: /etc/nginx/sites-available/jenkins
+ notify: restart nginx service
+
+- name: enable jenkins site
+ file:
+ src: /etc/nginx/sites-available/jenkins
+ dest: /etc/nginx/sites-enabled/jenkins
+ state: link
http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/d05361c7/ansible/roles/jenkins-worker/tasks/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/jenkins-worker/tasks/main.yml b/ansible/roles/jenkins-worker/tasks/main.yml
index c67e6f4..aafe704 100644
--- a/ansible/roles/jenkins-worker/tasks/main.yml
+++ b/ansible/roles/jenkins-worker/tasks/main.yml
@@ -1,22 +1,22 @@
---
- - name: create jenkins group
- group:
- name: jenkins
- gid: 112 # same gid as jenkins group on master
- state: present
- system: yes
+- name: create jenkins group
+ group:
+ name: jenkins
+ gid: 112 # same gid as jenkins group on master
+ state: present
+ system: yes
- - name: create jenkins user
- user:
- name: jenkins
- uid: 106 # same uid as jenkins user on master
- state: present
- system: yes
- group: jenkins
- home: "/var/lib/jenkins"
+- name: create jenkins user
+ user:
+ name: jenkins
+ uid: 106 # same uid as jenkins user on master
+ state: present
+ system: yes
+ group: jenkins
+ home: "/var/lib/jenkins"
- - name: add public key
- authorized_key:
- user: jenkins
- key: "{{ lookup('file', 'keys/couchdb-ci-rsa.pub') }}"
- manage_dir: yes
+- name: add public key
+ authorized_key:
+ user: jenkins
+ key: "{{ lookup('file', 'keys/couchdb-ci-rsa.pub') }}"
+ manage_dir: yes
http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/d05361c7/ansible/roles/ubuntu/tasks/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/ubuntu/tasks/main.yml b/ansible/roles/ubuntu/tasks/main.yml
index be62db0..b14191b 100644
--- a/ansible/roles/ubuntu/tasks/main.yml
+++ b/ansible/roles/ubuntu/tasks/main.yml
@@ -1,24 +1,24 @@
---
- # even though we do not need Java to build CouchDB, a Jenkins worker still
- # needs an installed JDK or the Jenkins master yells at you when attempting to
- # connect
- - name: install jdk
- apt:
- name: openjdk-7-jdk
- state: present
+# even though we do not need Java to build CouchDB, a Jenkins worker still
+# needs an installed JDK or the Jenkins master yells at you when attempting to
+# connect
+- name: install jdk
+ apt:
+ name: openjdk-7-jdk
+ state: present
- # TODO These packages are required to build Couch. Maybe a ubuntu-build-worker
- # role would make more sense in the long run. Jenkins master does not need
- # this packages once we use a master-worker setup.
- - name: install packages required to build CouchDB
- apt: name={{item}} state=present
- with_items:
- - build-essential
- - erlang-base-hipe
- - erlang-dev
- - erlang-manpages
- - erlang-eunit
- - erlang-nox
- - libicu-dev
- - libmozjs185-dev
- - libcurl4-openssl-dev
+# TODO These packages are required to build Couch. Maybe a ubuntu-build-worker
+# role would make more sense in the long run. Jenkins master does not need
+# this packages once we use a master-worker setup.
+- name: install packages required to build CouchDB
+ apt: name={{item}} state=present
+ with_items:
+ - build-essential
+ - erlang-base-hipe
+ - erlang-dev
+ - erlang-manpages
+ - erlang-eunit
+ - erlang-nox
+ - libicu-dev
+ - libmozjs185-dev
+ - libcurl4-openssl-dev