团队环境:Jenkins版本升级和插件更新

2017-06-04 阅读: Jenkins Ansible

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.yml

roles/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.war

roles/jenkins/handlers/main.yml:

---

- name: restart jenkins
  systemd:
    name: jenkins
    state: restarted
    enabled: true

roles/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 jenkins

upgrade-jenkins.yml:

---
- hosts: jenkins-master
  become: true
  roles:
     - role: jenkins

在升级前要确保没有Jenkins没有在运行任何Job,可以先在Jenkins » 系统管理 » 准备关机,安全的将Jenkins服务停止。

插件更新

更新Jenkins插件比较简单,直接在 系统管理 » 插件管理里操作即可。

参考

标题:团队环境:Jenkins版本升级和插件更新
本文链接:https://blog.frognew.com/2017/06/upgrade-jenkins-and-plugins.html
转载请注明出处。

目录