我試圖協調使用GitHub的組織插件與詹金斯管道沿依賴鏈。
由於我構建的產品具有許多共享依賴關係,因此我使用nuget包來管理依賴關係版本控制和更新。
但是,我無法爲執行編排的項目獲取必要的工件/信息。
戰略
在一個SCM改變任何上游共享庫應該建立一個NuGet包和協調任何下游建立需要新的引用:
- 我硬編碼在每個上游項目的下游業務流程。 因此,如果構建了A,那麼將使用來自A的最新構件來構建B和具有對A的依賴關係的C.之後,將使用最新構件來構建具有B和C依賴關係的D以及依賴於A和C的E從A,B,C根據需要。等等。由於使用「Build Job:Jobname」語法構建依賴關係,因此這些將全部由A的Jenkinsfile觸發。我無法找到一個解決方案,我可以通過這個解決方案在每個步驟下游傳遞編排,因爲依賴關係發散並向下遊匯聚,我不想觸發具有不同引用的上游項目的多個相同下游項目的構建。
- 我可以將父項目的構件信息傳遞給任何下游作業,但是我面臨的問題是父項目沒有任何用於下游構件的組件版本信息(需要進一步下游編排作業)。 Stash/Unstash似乎沒有任何跨作業功能,並且歸檔/取消歸檔已被棄用。
TLDR: 我需要的任一上行傳遞的字符串或文本文件到作業中等執行(從多個下游作業)的方法或者需要使用與共享下游依賴於多個dowstream作業的方法協調並共同將信息傳遞給下游作業(僅觸發一次)。
謝謝!
謝謝,這仍是那麼業務流程,不過,是完成的精細通過使用僞影插件。我認爲一些最新的管道插件有能力處理我需要的那種工作流程,但我還沒有時間去實施它們。 – tphuoc