背景:
由于公司服務(wù)器已經(jīng)運(yùn)行兩年了, 而且機(jī)器是塔式的, 難以放到機(jī)房, 所以剛好把現(xiàn)有的機(jī)器替換成刀片式的服務(wù)器. 之前Jenkins是1.6.53版本, Gerrit是2.11.3版本. 正好趁著這個(gè)機(jī)會(huì)進(jìn)行升級(jí)版本, Jenkins升級(jí)到2.7.31, Gerrit版本升級(jí)到2.14.3.
準(zhǔn)備:
網(wǎng)上百度了很多方案, 但是靠譜的都比較少, 而且了解到了, Jenkins和Gerrit都做到高版本兼容低版本, 所以整體思路是把老配置直接拿過(guò)來(lái)使用, 并且為了做到以后升級(jí)方便, 把配置相關(guān)的文件通過(guò)Git管理起來(lái), 方便將來(lái)升級(jí)Gerrit和Jenkins.
升級(jí):
1 - Gerrit
1: 由于用戶登錄模塊用到反向代理, 所以先安裝apache2服務(wù)器, 設(shè)置好反向代理.
2: Ubuntu建立好Gerrit用戶,直接把之前的review_site目錄拷貝過(guò)來(lái)
3: 啟動(dòng)Gerrit, 如果沒(méi)有意外應(yīng)該是可以啟動(dòng)的.(這里通過(guò)Git可以進(jìn)行一次備份, 接下來(lái)升級(jí)失敗可以進(jìn)行回退)
4: 運(yùn)行命令升級(jí)Gerrit
5: 再次啟動(dòng)Gerrit, 基本上應(yīng)該是成功的, 我碰到Project下某些工程不能訪問(wèn), 重啟下電腦就正常了.(Git再次備份下, 為將來(lái)升級(jí)留備份)
2 - Jenkins
1: Jenkins比較特別, 先通過(guò)命令行安裝最新的Jenkins.
2: 拷貝老的Jenkins配置目錄, 把新版本的Jenkins的配置目錄指向拷貝的地址(Git做好備份)
.
3: 重啟Jenkins, 這個(gè)時(shí)候可以根據(jù)Jenkins的log, 消滅下配置中的錯(cuò)誤.
4: 理論上也是沒(méi)有錯(cuò)誤需要解決的.(Jenkins起來(lái)之后, 也需要做備份)
總結(jié):
遷移之前以為是困難重重, 真正執(zhí)行起來(lái)還是很順利的, 基本上沒(méi)碰到不能解決的問(wèn)題, 出現(xiàn)問(wèn)題, 可以重啟服務(wù)試試. 一個(gè)晚上就搞定遷移和升級(jí)工作, 90%的時(shí)間都花在代碼和服務(wù)器文件的copy上.