From 7dd92ccac555903856090243b31a79ef04e32abc Mon Sep 17 00:00:00 2001 From: msfernandes Date: Thu, 4 Jun 2015 10:40:41 -0300 Subject: [PATCH] Recipe installing jenkins --- cookbooks/ci/files/default/nginx | 20 ++++++++++++++++++++ cookbooks/ci/recipes/default.rb | 1 + cookbooks/ci/recipes/jenkins.rb | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 82 insertions(+), 0 deletions(-) create mode 100644 cookbooks/ci/files/default/nginx create mode 100644 cookbooks/ci/recipes/jenkins.rb diff --git a/cookbooks/ci/files/default/nginx b/cookbooks/ci/files/default/nginx new file mode 100644 index 0000000..e9546e4 --- /dev/null +++ b/cookbooks/ci/files/default/nginx @@ -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 ci.spb.lappis; + + 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; + } + } +} \ No newline at end of file diff --git a/cookbooks/ci/recipes/default.rb b/cookbooks/ci/recipes/default.rb index 7d40e7d..ac7fa7b 100644 --- a/cookbooks/ci/recipes/default.rb +++ b/cookbooks/ci/recipes/default.rb @@ -1 +1,2 @@ include_recipe 'ci::spb' +include_recipe 'ci::jenkins' \ No newline at end of file diff --git a/cookbooks/ci/recipes/jenkins.rb b/cookbooks/ci/recipes/jenkins.rb new file mode 100644 index 0000000..ad137ea --- /dev/null +++ b/cookbooks/ci/recipes/jenkins.rb @@ -0,0 +1,61 @@ +JENKINS_CLI = '/var/cache/jenkins/war/WEB-INF/jenkins-cli.jar' + +execute 'jenkins_repo' do + command 'wget -q -O - http://pkg.jenkins-ci.org/debian-stable/jenkins-ci.org.key | sudo apt-key add -' +end + +execute 'apt_sources' do + command 'echo "deb http://pkg.jenkins-ci.org/debian-stable binary/" >> /etc/apt/sources.list' + not_if 'cat /etc/apt/sources.list | grep jenkins-ci' +end + +execute 'apt-get update' + +package 'jenkins' + +service 'jenkins' do + action :enable +end + +execute 'service jenkins restart' + +package 'nginx' + +service 'nginx' do + action [:enable, :start] +end + +file '/etc/nginx/sites-available/default' do + action :delete +end + +cookbook_file 'nginx' do + path '/etc/nginx/sites-available/jenkins' +end + +file '/etc/nginx/sites-enabled/default' do + action :delete +end + +link '/etc/nginx/sites-enabled/jenkins' do + to '/etc/nginx/sites-available/jenkins' + not_if 'test -L /etc/nginx/sites-enabled/jenkins' +end + +service 'nginx' do + action :restart +end + +package 'git' + +plugins = ['git-client', 'git-server', 'build-blocker-plugin', 'greenballs', 'view-job-filters', 'gitlab-plugin'] + +plugins.each do |plugin| + execute "install jenkins plugin #{plugin}" do + command "java -jar #{JENKINS_CLI} -s http://localhost/ install-plugin #{plugin}" + retries 5 + retry_delay 10 + end +end + +execute 'service jenkins restart' \ No newline at end of file -- libgit2 0.21.2