解決jenkins打包時不能及時更新到最新代碼的問題

首先要定位是否真的拉不到最新代碼?服務器

定位步驟以下:svn

一、在SVN上,查看show log,沒有記錄.net

二、登陸Jenkins,查看構建的輸出記錄,Console Output,插件

      ctrl+f,若找不到最新代碼,則能夠肯定是拉不到最新代碼啦。日誌

三、檢查Jenkins服務器時間與SVN服務器時間是否是真的不一致 ?blog

解決方法:get

方法一: 把Jenkins服務器時間與SVN服務器時間調整成一致。(此方法使用過,是能夠解決了)it

輸入date查看服務器時間io

輸入要修改爲的時間 date -s "2019-04-08 16:34:00"登錄

方法二:

方法一解決了問題,但Jenkins的SVN插件是與時間戳相關的SVN revision嗎?

查看某個Jenkins Job的構建日誌,在使用SVN插件更新代碼時,日誌以下:

Updating svn://repository_path at revision '2015-08-06T08:48:12.490 +0800'

從上面能夠看出來,該次構建相應的revision確實是構建時間戳。

 

那麼,能夠讓Jenkins的SVN插件更新代碼時,設置revision爲HEAD嗎?

答案是能夠的,在SVN URL加@HEAD後綴便可,Jenkins的SVN插件是支持這個的。

在SVN URL加@HEAD後綴後,構建Jenkins Job後日志輸出以下:

Updating svn://repository_path@HEAD

並且這樣確保更新的代碼是最新的,不會由於Jenkins服務器與SVN服務器之間的時間差受到影響。

注:HEAD是SVN revision關鍵字,表示版本庫中的最新版本。

相關文章
相關標籤/搜索