团队环境:Jenkins版本升级和插件更新
2017-06-04
Jenkisn官方提供两种支持方式的版本:
- LTS(Long-term-Support)版本:大约每12周更新一次
- Weekly Release:每周更新一次,每个版本会有一些enhancement和bug fix
我们使用的是Weekly版本,这里记录一下Jenkins版本的升级和插件更新。 最初我们是使用rpm安装的Jenkins,这种安装方式jenkins.war被默认安装到/usr/lib/jenkins下。 升级Jenkins的版本只要将这个目录的jenkins.war替换成新的版本,重启Jenkins服务即可。
升级Jenkins版本 #
将升级过程做成ansible的playbook,便于下次升级时重放。
1├── roles
2│ ├── jenkins
3│ │ ├── defaults
4│ │ │ └── main.yml
5│ │ ├── handlers
6│ │ │ └── main.yml
7│ │ └── tasks
8│ │ └── main.yml
9└── upgrade-jenkins.yml
roles/jenkins/defaults/main.yml:
1---
2
3jekins_version: 2.64
4jenkins_war_path: /usr/lib/jenkins
5jenkins_war_url: http://updates.jenkins-ci.org/download/war/{ { jekins_version } }/jenkins.war
roles/jenkins/handlers/main.yml:
1---
2
3- name: restart jenkins
4 systemd:
5 name: jenkins
6 state: restarted
7 enabled: true
roles/jenkins/tasks/main.yml:
1---
2
3- name: download jenkins war
4 get_url:
5 url: "{ { jenkins_war_url } }"
6 dest: "/tmp"
7 register: download_jenkins
8
9- name: copy the new jenkins war
10 copy:
11 src: "{ { download_jenkins.dest } }"
12 dest: "{ { jenkins_war_path } }"
13 owner: root
14 group: root
15 mode: 0644
16 backup: yes
17 remote_src: yes
18 changed_when: True
19 notify:
20 - restart jenkins
upgrade-jenkins.yml:
1---
2- hosts: jenkins-master
3 become: true
4 roles:
5 - role: jenkins
在升级前要确保没有Jenkins没有在运行任何Job,可以先在Jenkins » 系统管理 » 准备关机,安全的将Jenkins服务停止。
插件更新 #
更新Jenkins插件比较简单,直接在 系统管理 » 插件管理里操作即可。