Commit 63467254 by Feanil Patel

Update plugins and add tasks for restoring from backup.

parent 5c3c921c
...@@ -24,9 +24,13 @@ JENKINS_ADMIN_AWS_CREDENTIALS: !!null ...@@ -24,9 +24,13 @@ JENKINS_ADMIN_AWS_CREDENTIALS: !!null
# jenkins_admin also requires other variables that are not defined by default. # jenkins_admin also requires other variables that are not defined by default.
# JENKINS_ADMIN_S3_PROFILE: !!null # JENKINS_ADMIN_S3_PROFILE: !!null
# JENKINS_ADMIN_BACKUP_BUCKET: !!null
# JENKINS_ADMIN_BACKUP_KEY: !!null
jenkins_admin_role_name: jenkins_admin jenkins_admin_role_name: jenkins_admin
jenkins_admin_version: "1.630"
# repo for nodejs # repo for nodejs
jenkins_chrislea_ppa: "ppa:chris-lea/node.js" jenkins_chrislea_ppa: "ppa:chris-lea/node.js"
# #
...@@ -90,11 +94,9 @@ jenkins_admin_plugins: ...@@ -90,11 +94,9 @@ jenkins_admin_plugins:
- { name: "greenballs", version: "1.14" } - { name: "greenballs", version: "1.14" }
- { name: "rebuild", version: "1.21" } - { name: "rebuild", version: "1.21" }
- { name: "build-user-vars-plugin", version: "1.1" } - { name: "build-user-vars-plugin", version: "1.1" }
- { name: "build-token-root", version: "1.1" }
- { name: "matrix-auth", version: "1.2" } - { name: "matrix-auth", version: "1.2" }
- { name: "matrix-project", version: "1.3" } - { name: "matrix-project", version: "1.3" }
- { name: "mailer", version: "1.9" } - { name: "mailer", version: "1.9" }
- { name: "pam-auth", version: "1.1" }
- { name: "build-user-vars-plugin", version: "1.3" } - { name: "build-user-vars-plugin", version: "1.3" }
- { name: "credentials", version: "1.15" } - { name: "credentials", version: "1.15" }
- { name: "ssh-credentials", version: "1.7.1" } - { name: "ssh-credentials", version: "1.7.1" }
...@@ -102,7 +104,6 @@ jenkins_admin_plugins: ...@@ -102,7 +104,6 @@ jenkins_admin_plugins:
- { name: "token-macro", version: "1.10" } - { name: "token-macro", version: "1.10" }
- { name: "parameterized-trigger", version: "2.25" } - { name: "parameterized-trigger", version: "2.25" }
- { name: "multiple-scms", version: "0.3" } - { name: "multiple-scms", version: "0.3" }
- { name: "git", version: "2.2.2" }
- { name: "maven-plugin", version: "2.5" } - { name: "maven-plugin", version: "2.5" }
- { name: "copy-project-link", version: "1.2" } - { name: "copy-project-link", version: "1.2" }
- { name: "scriptler", version: "2.6.1" } - { name: "scriptler", version: "2.6.1" }
...@@ -133,9 +134,10 @@ jenkins_admin_plugins: ...@@ -133,9 +134,10 @@ jenkins_admin_plugins:
- { name: "htmlpublisher", version: "1.3" } - { name: "htmlpublisher", version: "1.3" }
- { name: "github-oauth", version: "0.20" } - { name: "github-oauth", version: "0.20" }
- { name: "build-name-setter", version: "1.3" } - { name: "build-name-setter", version: "1.3" }
- { name: "ec2", version: "1.23" }
- { name: "jenkins-flowdock-plugin", version: "1.1.3" } - { name: "jenkins-flowdock-plugin", version: "1.1.3" }
- { name: "simple-parameterized-builds-report", version: "1.3" } - { name: "simple-parameterized-builds-report", version: "1.3" }
- { name: "git-client", version: "1.19.0"}
- { name: "git", version: "2.4.0"}
jenkins_admin_jobs: jenkins_admin_jobs:
- 'backup-jenkins' - 'backup-jenkins'
......
...@@ -24,6 +24,7 @@ dependencies: ...@@ -24,6 +24,7 @@ dependencies:
- edxapp_common - edxapp_common
- role: jenkins_master - role: jenkins_master
jenkins_plugins: "{{ jenkins_admin_plugins }}" jenkins_plugins: "{{ jenkins_admin_plugins }}"
jenkins_version: "{{ jenkins_admin_version }}"
- role: supervisor - role: supervisor
supervisor_app_dir: "{{ jenkins_supervisor_app_dir }}" supervisor_app_dir: "{{ jenkins_supervisor_app_dir }}"
supervisor_data_dir: "{{ jenkins_supervisor_data_dir }}" supervisor_data_dir: "{{ jenkins_supervisor_data_dir }}"
......
...@@ -138,6 +138,45 @@ ...@@ -138,6 +138,45 @@
user_install=no user_install=no
with_items: jenkins_admin_gem_pkgs with_items: jenkins_admin_gem_pkgs
- name: get s3 one time url
local_action:
module: "s3"
bucket: "{{ JENKINS_ADMIN_BACKUP_BUCKET }}"
object: "{{ JENKINS_ADMIN_BACKUP_S3_KEY }}"
mode: "geturl"
expiration: 30
register: s3_one_time_url
when: JENKINS_ADMIN_BACKUP_BUCKET is defined and JENKINS_ADMIN_BACKUP_S3_KEY is defined
- name: download s3 backup
get_url:
url: "{{ s3_one_time_url.url }}"
dest: "/tmp/{{ JENKINS_ADMIN_BACKUP_S3_KEY | basename }}"
mode: "0644"
owner: "{{ jenkins_user }}"
when: JENKINS_ADMIN_BACKUP_BUCKET is defined and JENKINS_ADMIN_BACKUP_S3_KEY is defined
- name: stop jenkins
service:
name: "jenkins"
state: "stopped"
when: JENKINS_ADMIN_BACKUP_BUCKET is defined and JENKINS_ADMIN_BACKUP_S3_KEY is defined
- name: restore the backup
unarchive:
src: "/tmp/jenkins_backup.tar.gz"
dest: "{{ jenkins_home }}/.."
owner: "{{ jenkins_user }}"
copy: false
when: JENKINS_ADMIN_BACKUP_BUCKET is defined and JENKINS_ADMIN_BACKUP_S3_KEY is defined
# When testing consider commenting this out
- name: start jenkins
service:
name: "jenkins"
state: "started"
when: JENKINS_ADMIN_BACKUP_BUCKET and JENKINS_BACKUP_S3_KEY
- include: nat_monitor.yml - include: nat_monitor.yml
tags: tags:
- nat-monitor - nat-monitor
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment