remove jenkins and jave submodule definitions
This commit is contained in:
6
.gitmodules
vendored
6
.gitmodules
vendored
@@ -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
6
roles/java/defaults/main.yml
Normal file
6
roles/java/defaults/main.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
# defaults/main.yml
|
||||
# define default variable values here
|
||||
|
||||
java_packages:
|
||||
- openjdk-7-jdk
|
||||
9
roles/java/handlers/main.yml
Normal file
9
roles/java/handlers/main.yml
Normal 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
8
roles/java/meta/main.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
# meta/main.yml
|
||||
# define dependancies here
|
||||
|
||||
# dependencies:
|
||||
# - { role: geerlingguy.java }
|
||||
|
||||
dependencies: []
|
||||
12
roles/java/tasks/main.yml
Normal file
12
roles/java/tasks/main.yml
Normal 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
|
||||
|
||||
10
roles/java/vars/_extravars.yml
Normal file
10
roles/java/vars/_extravars.yml
Normal 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
35
roles/jenkins/defaults/main.yml
Normal file
35
roles/jenkins/defaults/main.yml
Normal 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
|
||||
12
roles/jenkins/handlers/main.yml
Normal file
12
roles/jenkins/handlers/main.yml
Normal 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
|
||||
7
roles/jenkins/meta/main.yml
Normal file
7
roles/jenkins/meta/main.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
# meta/main.yml
|
||||
# define dependancies here
|
||||
|
||||
dependencies:
|
||||
- {role: java }
|
||||
- {role: nginx }
|
||||
96
roles/jenkins/tasks/main.yml
Normal file
96
roles/jenkins/tasks/main.yml
Normal 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
|
||||
3
roles/jenkins/templates/gitconfig.j2
Normal file
3
roles/jenkins/templates/gitconfig.j2
Normal file
@@ -0,0 +1,3 @@
|
||||
[user]
|
||||
email = {{ jenkins_git_user }}
|
||||
name = {{ jenkins_git_user }}
|
||||
56
roles/jenkins/templates/nginx.jenkins.conf.j2
Normal file
56
roles/jenkins/templates/nginx.jenkins.conf.j2
Normal 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;
|
||||
}
|
||||
}
|
||||
10
roles/jenkins/vars/_extravars.yml
Normal file
10
roles/jenkins/vars/_extravars.yml
Normal 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"
|
||||
|
||||
Reference in New Issue
Block a user