我已經編寫了一個腳本,它將自動更新我們正在處理的庫的版本文件。目前,我們正在使用P4 Plugin。不允許Jenkins基於特定Perforce用戶的提交
當Jenkins選擇對目錄進行更改(使用輪詢)時,會觸發構建。作爲構建的一部分,Jenkins使用Perforce命令行客戶端檢出並使用腳本進行更新,該版本文件與Perforce提交編號相匹配。
這一切工作正常,問題是,當版本文件更新時,下一次輪詢發生時,它會觸發構建,因爲版本文件已更改。這導致無限循環的觸發構建來更新版本文件。
我的問題是,有沒有辦法告訴詹金斯如果更改來自某個Perforce用戶,無法構建?我發現Git plugin似乎對誰可以觸發構建有相當靈活的規則,我想知道在Jenkins中是否有一種方法可以在不依賴外部插件或非git插件的情況下執行此操作,因爲我的我正在與Perforce合作。
或者如果只有某些文件發生變化,甚至可以告訴Jenkins不要觸發構建也可以。
有沒有人有任何想法,我可以如何處理這個?
編輯: 每次有人提交到項目的主代碼行時,版本都會改變。這樣做,我們可以跟蹤內部庫的版本,並保持它與Perforce提交的同步。這樣我們就可以跟蹤哪個Perforce提交更新,並且可以在Jira中跟蹤它。
現在,腳本只是一個笨笨的c#命令行EXE。我希望避免把它連接到P4API.NET並自己編寫所有的邏輯。
的腳本來更新版本的文件的查詢生成器是構建的一部分?爲什麼?版本多久改變一次?如果沒有任何變化,你可以改變腳本不要觸摸版本文件嗎? –
更新我的問題 – KSF
您是否嘗試過「排除用戶更改」的輪詢構建過濾器? – tkosinski