jenkins集成

18年當時由于工作需要,研究了下jenkins 自動編譯、出包的功能。當時的需求是,需要考慮到客戶端和服務端的自動出包功能。客戶端分為:Android 、iOS、H5三種;服務端就是普通的war包。

當時只做了一半后面就移交出去了,時間倉促也沒來得及當時研究的成果。現(xiàn)在還記得當時實現(xiàn)了幾個功能:

1、iOS 、Android、H5的自動出包。記得當時還有一個需求包括iOS、Android出包時,更新最新的H5資源包。這個比較麻煩,最后卡殼了。

2、其次就是后端war 的自動出包。

現(xiàn)在回顧起來客戶端的打包,我完全忘記了??磥磲槍φ麄€流程,我壓根就沒很好的掌握,當時只是配置完成了。自己買個教訓吧。

永遠記住,能力是能夠重復實現(xiàn)的才叫能力。

堪稱完美的概念機不能量產(chǎn),這不是能力。

只能展示一次的技能,不是能力。

所以,能夠重復實現(xiàn)的才是能力。趁著現(xiàn)在還能記住剩下的部分,趕緊拿小本本記錄下來。以下是關于jenkins 中如何自定義變量的實現(xiàn)方式,先寫這么多。后面有新發(fā)現(xiàn)了再繼續(xù)更新吧。

jenkins 自定義變量

比如你現(xiàn)在有一個需求,現(xiàn)在的集成環(huán)境還不是全自動,jenkins 打包完成后還需要手動發(fā)包。

這個需求就會引申出一些隱性需求,比如:

a. jenkins 打包完成后需要提醒對應人員,繼續(xù)處理后面的手動出包流程。-- 郵件提醒的需求

b. 郵件提醒功能還需要細化,比如并行打包時需要區(qū)分每個包是誰提交的。-- 郵件內容體現(xiàn)commit內容

c. 后續(xù)發(fā)包提測還需要手動處理,所以郵件內容中還需要體現(xiàn)down war包的地址。方便直接打卡郵件down 對應的war。

以上的需求,都只需要一個步驟就能搞定——自定義變量。

下面進入步驟詳解:

  • 1、添加對應的 execute shell

在 Post Steps 里面添加一個 Execute shell

Command 內容如下:

echo WarDownloadLink = $(find . -name *.war ) > propsfile
echo GitLog = $(git log -1 ) >> propsfile

如圖:

配置變量
  • 2、 導入自定義變量文件

在Post Steps 的后面添加一個 Inject environment variables 配置。

配置項的第一個:Properties File Path,填寫上面 Execute shell中保存臨時變量的文件名 :

propsfile 

如上圖。

  • 3、最后是使用的方式

目前我們的使用場景是,自定義提醒郵件的content內容,編輯提醒郵件的Content。

如下:

<ul>
    <li>下載地址:<a href="${JOB_URL}/ws/${WarDownloadLink}">${JOB_URL}/ws/${WarDownloadLink}</a>
            </li>
    <li>構建編號 : BUILD(${BUILD_NUMBER})</li>
    <li >最后提交 : ${GitLog} </li>
</ul>
 
 # GitLog 的名稱和上面Execute shell 中命名的變量一樣

上面的content 既用到了 自定義的變量(GitLog、WarDownloadLink),也用到了jenkins 自帶的變量(JOB_URL、BUILD_NUMBER)。

  • 4、最后效果圖

如圖:

最后效果
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容