1. 程式人生 > >自動化部署之jenkins升級和備份

自動化部署之jenkins升級和備份

jenkins 升級 備份

  • jenkins升級

  • (1)查看war包所在的目錄
    [root@linux-node2 ~]# rpm -ql jenkins
    /etc/init.d/jenkins
    /etc/logrotate.d/jenkins
    /etc/sysconfig/jenkins
    /usr/lib/jenkins
    /usr/lib/jenkins/jenkins.war
    /usr/sbin/rcjenkins
    /var/cache/jenkins
    /var/lib/jenkins
    /var/log/jenkins
    
    (2)下載最新穩定版的war包
    [root@linux-node2 ~]# wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.46/jenkins.war
    --2017-12-21 14:56:10--  https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.46/jenkins.war
    Resolving mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)... 101.6.6.178, 2402:f000:1:416:101:6:6:177
    Connecting to mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)|101.6.6.178|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 68663046 (65M) [application/java-archive]
    Saving to: ‘jenkins.war’
    
    36% [====================================================>                                                                                               ] 24,829,614   707KB/s  eta 60s

    當前jenkins版本為2.32.2

    技術分享圖片

    (3)停止jenkins服務
    [root@linux-node2 ~]# service jenkins stop
    Stopping jenkins (via systemctl):                          [  OK  ]
    
    (4)備份原來的war包,並拷貝最新版本war包到/usr/lib/jenkins目錄下
    [root@linux-node2 ~]# cd /usr/lib/jenkins/
    [root@linux-node2 jenkins]# mv jenkins.war jenkins-2.32.2.war.bak
    [root@linux-node2 jenkins]# mv /root/jenkins.war .
    [root@linux-node2 jenkins]# service jenkins start
    Starting jenkins (via systemctl):                          [  OK  ]
    [root@linux-node2 jenkins]# netstat -tulnp |grep 8080
    tcp6       0      0 :::8080                 :::*                    LISTEN      47298/java   
    
    成功升級到jenkins 2.46版本

    技術分享圖片


    2.jenkins備份

    在jenkins界面創建一些項目,這裏使用rsync,主要是為了保持備份的屬性,如果使用scp或cp有時會導致文件屬性的改變而導致jenkins異常。

    (1)創建備份目錄
    [root@linux-node2 ~]# mkdir /data/backup/jenkins -p
    
    (2)備份/var/lib/jenkins目錄
    [root@linux-node2 ~]# rsync -raz --delete --progress /var/lib/jenkins /data/backup/jenkins/
    
    (3)刪除/var/lib/jenkins/
    [root@linux-node2 ~]# rm -rf /var/lib/jenkins/
    
    [root@linux-node2 ~]# service jenkins restart
    Restarting jenkins (via systemctl):  Job for jenkins.service failed because the control process exited with error code. See "systemctl status jenkins.service" and "journalctl -xe" for details.
                                                               [FAILED]
    [root@linux-node2 ~]# service jenkins status
    JENKINS_HOME directory does not exist: /var/lib/jenkins
    
    (4)恢復備份
    [root@linux-node2 ~]# rsync -raz --delete /data/backup/jenkins/jenkins /var/lib/
    [root@linux-node2 ~]# service jenkins restart
    Restarting jenkins (via systemctl):                        [  OK  ]








    自動化部署之jenkins升級和備份