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,便于下次升级时重放。
├── roles
│ ├── jenkins
│ │ ├── defaults
│ │ │ └── main.yml
│ │ ├── handlers
│ │ │ └── main.yml
│ │ └── tasks
│ │ └── main.yml
└── upgrade-jenkins.ymlroles/jenkins/defaults/main.yml:
---
jekins_version: 2.64
jenkins_war_path: /usr/lib/jenkins
jenkins_war_url: http://updates.jenkins-ci.org/download/war/{ { jekins_version } }/jenkins.warroles/jenkins/handlers/main.yml:
---
- name: restart jenkins
systemd:
name: jenkins
state: restarted
enabled: trueroles/jenkins/tasks/main.yml:
---
- name: download jenkins war
get_url:
url: "{ { jenkins_war_url } }"
dest: "/tmp"
register: download_jenkins
- name: copy the new jenkins war
copy:
src: "{ { download_jenkins.dest } }"
dest: "{ { jenkins_war_path } }"
owner: root
group: root
mode: 0644
backup: yes
remote_src: yes
changed_when: True
notify:
- restart jenkinsupgrade-jenkins.yml:
---
- hosts: jenkins-master
become: true
roles:
- role: jenkins在升级前要确保没有Jenkins没有在运行任何Job,可以先在Jenkins » 系统管理 » 准备关机,安全的将Jenkins服务停止。
插件更新
更新Jenkins插件比较简单,直接在 系统管理 » 插件管理里操作即可。