2017-06-05 118 views
0

我創建了一個Jenkins管道模板,並將腳本(用groovy編寫)放入內聯編輯器中。它構建應用程序並在觸發作業時部署到環境中。通用連續交付管道

位於GitHub中的XML文檔打開和關閉各種管道功能。例如,如果環境是「受控」的,那麼在部署到環境之前需要批准的變更單。每個應用程序可以有多個配置。每個應用程序使用相同的管道腳本。

現在腳本很複雜,而且有3000行代碼。我想將其分解爲小例程,模塊化和可擴展性。任何人都可以提出我的一些想法重構腳本

+2

您是否考慮過[共享庫](https://jenkins.io/doc/book/pipeline/shared-libraries/)?如果你發現它不適合你的需要,請解釋爲什麼,因爲這樣做可能會澄清你的所作所爲。 –

+0

謝謝Hugues的回覆。我對所有管道作業只使用一個通用管道模板。我的想法是從管道模板加載Jenkinsfile(位於GitHub中)。然後從全局管道庫(位於GitHub中)加載與(構建和部署)階段有關的例程/步驟。所有的應用程序能否使用相同的Jenkinsfile(使其成爲全局的)而不是特定於應用程序的? Jenkinsfile和共享庫可以放在同一個存儲庫中嗎? – Jay

+0

我不會推薦將Jenkinsfile和共享庫放在同一個存儲庫中。大多數情況下,您希望Jenkinsfile使用應用程序代碼進行版本控制。而共享庫應該分開版本化。 – Philip

回答

0

我已經發布我的解決方案,在這裏創建一個管道模板:詹金斯管道模板

的想法是創建一個Shared Library與提供管道模板全局變量。通過簡單地調用共享庫中的方法,可以在Jenkins文件中使用它。