remove jenkins and jave submodule definitions

This commit is contained in:
2015-09-27 11:28:57 -04:00
parent 867a6dffb8
commit fd770130ff
15 changed files with 264 additions and 8 deletions

6
.gitmodules vendored
View File

@@ -1,6 +0,0 @@
[submodule "roles/jenkins"]
path = roles/jenkins
url = https://github.com/geerlingguy/ansible-role-jenkins.git
[submodule "roles/java"]
path = roles/java
url = https://github.com/geerlingguy/ansible-role-java.git

Submodule roles/java deleted from 14df32ccb7

View File

@@ -0,0 +1,6 @@
---
# defaults/main.yml
# define default variable values here
java_packages:
- openjdk-7-jdk

View File

@@ -0,0 +1,9 @@
---
# handlers/main.yml
# define handlers here
#- name: restart <service>
# service: name=<service> state=restarted
#- name: stop <service>
# service: name=<service> state=stopped

8
roles/java/meta/main.yml Normal file
View File

@@ -0,0 +1,8 @@
---
# meta/main.yml
# define dependancies here
# dependencies:
# - { role: geerlingguy.java }
dependencies: []

12
roles/java/tasks/main.yml Normal file
View File

@@ -0,0 +1,12 @@
---
# tasks/main.yml
# define tasks here
# install packages
- name: Update apt cache.
apt: update_cache=yes cache_valid_time=86400
- name: Ensure Java is installed.
apt: "name={{ item }} state=installed"
with_items: java_packages

View File

@@ -0,0 +1,10 @@
---
# vars/_extravars.yml
# define extra variable values here
# this file should be loaded via an include_vars statement in the task.
# often this is used for managing differences in os.
# Variable setup.
#- name: Include OS-Specific variables
# include_vars: "{{ ansible_os_family }}.yml"

Submodule roles/jenkins deleted from 0b3c51a793

View File

@@ -0,0 +1,35 @@
---
# defaults/main.yml
# define default variable values here
jenkins_repo_url: deb http://pkg.jenkins-ci.org/debian binary/
jenkins_repo_key_url: http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key
jenkins_connection_delay: 5
jenkins_connection_retries: 60
jenkins_hostname: localhost
jenkins_port: 8080
jenkins_jar_location: /opt/jenkins-cli.jar
jenkins_home: /var/lib/jenkins
jenkins_plugins:
- git
- scm-sync-configuration
- ssh
- ansible
- bitbucket-pullrequest-builder
- windows-slaves
- ssh-slaves
- ant
- cloudbees-folder
- role-strategy
- phing
- build-pipeline-plugin
- delivery-pipeline-plugin
- deployment-sphere
- ownership
jenkins_git_user: jenkins
jenkins_git_email: jenkins@xai-corp.net
http_standard_port: 80

View File

@@ -0,0 +1,12 @@
---
# handlers/main.yml
# define handlers here
#- name: restart <service>
# service: name=<service> state=restarted
#- name: stop <service>
# service: name=<service> state=stopped
- name: restart jenkins
service: name=jenkins state=restarted

View File

@@ -0,0 +1,7 @@
---
# meta/main.yml
# define dependancies here
dependencies:
- {role: java }
- {role: nginx }

View File

@@ -0,0 +1,96 @@
---
# tasks/main.yml
# define tasks here
# install packages
- name: Ensure dependencies are installed.
apt: pkg=curl state=installed
- name: Add Jenkins apt repository key.
apt_key:
url: "{{ jenkins_repo_key_url }}"
state: present
- name: Add Jenkins apt repository.
apt_repository:
repo: "{{ jenkins_repo_url }}"
state: present
update_cache: yes
- name: Ensure Jenkins is installed.
apt: pkg=jenkins state=installed
# start jenkins
- name: Ensure Jenkins is started and runs on startup.
service: name=jenkins state=started enabled=yes
- name: Wait for Jenkins to start up.
shell: curl --head --silent http://{{ jenkins_hostname }}:8080/cli/
register: result
until: result.stdout.find("200 OK") != -1
retries: "{{ jenkins_connection_retries }}"
delay: "{{ jenkins_connection_delay }}"
changed_when: false
# install cli
- name: Get the jenkins-cli jarfile from the Jenkins server.
get_url:
url: "http://{{ jenkins_hostname }}:8080/jnlpJars/jenkins-cli.jar"
dest: "{{ jenkins_jar_location }}"
register: jarfile_get
until: "'OK' in jarfile_get.msg or 'file already exists' in jarfile_get.msg"
retries: 5
delay: 10
# - name: Copy ssh key for authentication
# copy: src={ HOME }/.ssh/jenkins.pub dest="/var/lib/jenkins/.ssh/"
# configure jenkins
# - name: Update jenkins config
# lineinfile: dest=/var/lib/jenkins/config.xml regexp={{ item.reg }} line={{ item.line }}
# with_items:
# - {"reg": "<useSecurity>.*</useSecurity>", "line": "<useSecurity>false</useSecurity>"}
# setup .gitconfig
- name: Setup .gitconfig for jenkins user
template: dest="{{ jenkins_home }}/.gitconfig" src="gitconfig.j2" owner="jenkins" group="jenkins"
# update and install plugins
- name: Create Jenkins updates folder.
file:
path: /var/lib/jenkins/updates
owner: jenkins
group: jenkins
mode: 0755
state: directory
- name: Update Jenkins plugin data.
shell: >
curl -L https://updates.jenkins-ci.org/update-center.json | sed '1d;$d' > /var/lib/jenkins/updates/default.json
creates=/var/lib/jenkins/updates/default.json
- name: Permissions for default.json updates info.
file:
path: /var/lib/jenkins/updates/default.json
owner: jenkins
group: jenkins
mode: 0755
- name: Install Jenkins plugins.
command: >
java -jar {{ jenkins_jar_location }} -s http://{{ jenkins_hostname }}:8080/ install-plugin {{ item }}
creates=/var/lib/jenkins/plugins/{{ item }}.jpi
with_items: jenkins_plugins
notify: restart jenkins
- name: setup folder for jenkins slave on localhost
file: state=directory path=/var/lib/jenkins-slave owner=jenkins group=jenkins mode=0777
# install nginx as proxy
- name: Copy the nginx configuration file
template: src=nginx.jenkins.conf.j2 dest=/etc/nginx/sites-available/jenkins.conf
- name: Enable Jenkins Nginx configuration
file: src=/etc/nginx/sites-available/jenkins.conf dest=/etc/nginx/sites-enabled/jenkins.conf state=link
notify:
- reload nginx

View File

@@ -0,0 +1,3 @@
[user]
email = {{ jenkins_git_user }}
name = {{ jenkins_git_user }}

View File

@@ -0,0 +1,56 @@
server {
listen {{ http_standard_port }};
server_name {{ jenkins_hostname }};
access_log /var/log/nginx/jenkins_access.log;
error_log /var/log/nginx/jenkins_error.log;
location /userContent {
# Have nginx handle all the static requests to the userContent folder files
# NOTE: This is the $JENKINS_HOME dir
root /var/lib/jenkins/;
if (!-f $request_filename){
# This file does not exist, might be a directory or a /**view** url
rewrite (.*) /$1 last;
break;
}
sendfile on;
}
location @jenkins {
sendfile off;
proxy_pass http://127.0.0.1:{{ jenkins_port }};
proxy_redirect default;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_max_temp_file_size 0;
# This is the maximum upload size
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
location / {
# This is the jenkins web root directory (mentioned in the /etc/default/jenkins file)
root /var/run/jenkins/war/;
# Optional configuration to detect and redirect iPhones
if ($http_user_agent ~* '(iPhone|iPod)') {
rewrite ^/$ /view/iphone/ redirect;
}
try_files $uri @jenkins;
}
}

View File

@@ -0,0 +1,10 @@
---
# vars/_extravars.yml
# define extra variable values here
# this file should be loaded via an include_vars statement in the task.
# often this is used for managing differences in os.
# Variable setup.
#- name: Include OS-Specific variables
# include_vars: "{{ ansible_os_family }}.yml"