簡體   English   中英

如何讓Jenkins僅對觸發構建的文件執行作業?

[英]How to make Jenkins execute job only for the files that triggered build?

我有一個svn倉庫和一份詹金斯(Jenkins)工作,負責其中的工作。 使用Jenkins svn插件的“包含區域”功能,我可以配置Jenkins輪詢某些文件夾或文件類型中的更改。 但這是為了觸發工作。 當實際作業開始執行時,我如何知道其更改觸發了構建的文件是什么?

如果只有一次提交會觸發構建,那么我可以輕松地從shell腳本中的svn log中提取答案。 但是,如果有數量不明的提交導致我的詹金斯工作開始,那我就麻煩了。

我之所以這樣問,是因為我希望我的詹金斯(Jenkins)工作僅對那些更改觸發構建的文件進行某些分析。

一次推送多個提交也可以執行腳本。 所以我認為您已經遇到麻煩了。 因此,請在job的工作空間中維護一個文件,以便最后的每個版本都將保存其commit id 在您的腳本中,現在檢查從提交到當前( HEAD )的差異,並根據約束檢查文件中的更改。 如果滿足所有條件,現在就可以工作。 希望這可以幫助。

我認為這可能是固定的,但以防萬一,還有Jenkins的“ Last Changes插件”。

https://github.com/jenkinsci/last-changes-plugin

這使該環境中的內容與要推送的內容有所區別,並為您提供結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM