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:21 UTC
[04/23] couchdb-ci git commit: install jenkins and nginx
install jenkins and nginx
Project: http://git-wip-us.apache.org/repos/asf/couchdb-ci/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-ci/commit/7e8caf9b
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-ci/tree/7e8caf9b
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-ci/diff/7e8caf9b
Branch: refs/heads/master
Commit: 7e8caf9ba5e7b8fbe1f3f3279bbcf2aff286024a
Parents: cfa05d9
Author: Bastian Krol <ba...@web.de>
Authored: Sat Jul 4 00:02:22 2015 +0200
Committer: Bastian Krol <ba...@web.de>
Committed: Sat Jul 4 00:02:37 2015 +0200
----------------------------------------------------------------------
ansible/roles/jenkins-master/handlers/main.yml | 5 +++
ansible/roles/jenkins-master/tasks/main.yml | 46 +++++++++++++++++++-
.../jenkins-master/templates/nginx/jenkins | 20 +++++++++
ansible/roles/jenkins-master/vars/main.yml | 6 +++
ansible/roles/ubuntu/tasks/main.yml | 11 +----
ansible/site.yml | 2 +-
vagrant/couchdb-jenkins-master/Vagrantfile | 5 ++-
7 files changed, 81 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/7e8caf9b/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
new file mode 100644
index 0000000..bda076d
--- /dev/null
+++ b/ansible/roles/jenkins-master/handlers/main.yml
@@ -0,0 +1,5 @@
+---
+ - name: restart jenkins service
+ service:
+ name: jenkins
+ state: restarted
http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/7e8caf9b/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 d02a671..5772e80 100644
--- a/ansible/roles/jenkins-master/tasks/main.yml
+++ b/ansible/roles/jenkins-master/tasks/main.yml
@@ -1,2 +1,46 @@
---
-# currently there are no tasks for Jenkins master ¯\_(ツ)_/¯
+ - 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
+
+ - 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 jenkins 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/7e8caf9b/ansible/roles/jenkins-master/templates/nginx/jenkins
----------------------------------------------------------------------
diff --git a/ansible/roles/jenkins-master/templates/nginx/jenkins b/ansible/roles/jenkins-master/templates/nginx/jenkins
new file mode 100644
index 0000000..9aa6667
--- /dev/null
+++ b/ansible/roles/jenkins-master/templates/nginx/jenkins
@@ -0,0 +1,20 @@
+upstream app_server {
+ server 127.0.0.1:8080 fail_timeout=0;
+}
+
+server {
+ listen 80;
+ listen [::]:80 default ipv6only=on;
+ server_name {{ server_name }};
+
+ location / {
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header Host $http_host;
+ proxy_redirect off;
+
+ if (!-f $request_filename) {
+ proxy_pass http://app_server;
+ break;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/7e8caf9b/ansible/roles/jenkins-master/vars/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/jenkins-master/vars/main.yml b/ansible/roles/jenkins-master/vars/main.yml
new file mode 100644
index 0000000..69517fb
--- /dev/null
+++ b/ansible/roles/jenkins-master/vars/main.yml
@@ -0,0 +1,6 @@
+---
+
+################################################################################
+# nginx
+################################################################################
+server_name: ci.couchdb.org
http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/7e8caf9b/ansible/roles/ubuntu/tasks/main.yml
----------------------------------------------------------------------
diff --git a/ansible/roles/ubuntu/tasks/main.yml b/ansible/roles/ubuntu/tasks/main.yml
index b5e575b..a0d289b 100644
--- a/ansible/roles/ubuntu/tasks/main.yml
+++ b/ansible/roles/ubuntu/tasks/main.yml
@@ -1,11 +1,2 @@
---
- - name: install some basic apt packages
- apt: name={{item}} state=present
- with_items:
- - binutils
- - bzip2
- - curl
- - sudo
- - unzip
- - vim # you'll want a decent editor on the box, don't you?
- - wget
+# currently there are no common tasks for Ubuntu servers ¯\_(ツ)_/¯
http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/7e8caf9b/ansible/site.yml
----------------------------------------------------------------------
diff --git a/ansible/site.yml b/ansible/site.yml
index 74c8fd5..43d7d92 100644
--- a/ansible/site.yml
+++ b/ansible/site.yml
@@ -11,7 +11,7 @@
roles:
- ubuntu
-# Configure and deploy database servers.
+# Configure and deploy Jenkins master
- hosts: jenkins-master
remote_user: root
roles:
http://git-wip-us.apache.org/repos/asf/couchdb-ci/blob/7e8caf9b/vagrant/couchdb-jenkins-master/Vagrantfile
----------------------------------------------------------------------
diff --git a/vagrant/couchdb-jenkins-master/Vagrantfile b/vagrant/couchdb-jenkins-master/Vagrantfile
index 63370e0..c24fdc6 100644
--- a/vagrant/couchdb-jenkins-master/Vagrantfile
+++ b/vagrant/couchdb-jenkins-master/Vagrantfile
@@ -26,10 +26,11 @@ Vagrant.configure(2) do |config|
config.vm.provision "ansible" do |ansible|
ansible.playbook = "../../ansible/site.yml"
ansible.groups = {
- "jenkins-master" => ["jenkins-master"],
- "ubuntu" => ["ubuntu"]
+ "jenkins-master" => ["couchdb-jenkins-master"],
+ "ubuntu" => ["couchdb-jenkins-master"],
}
end
+ config.vm.network "forwarded_port", guest: 80, host: 10080
config.vm.network "forwarded_port", guest: 8080, host: 18080
end