簡體   English   中英

Jenkins或Chef的CI / CD流程

[英]CI/CD process with Jenkins or Chef

假設我必須執行以下工作:1:檢測S3上有一個新的WAR文件。 2:將其從S3鏟斗中拉出。 3:停止Wildfly服務器4:替換Wildfly服務器上的WAR文件5:重新啟動Wildfly服務器 在此處輸入圖片說明

該圖以詹金斯為例。 Wildfly和Appeon在EC2實例上。 由於某些許可問題,我們不能每次都使用CFT創建新實例,因此我必須假定所有這些步驟都在此EC2實例中完成。

讓我們假設故障轉移不是問題。

有兩種方法可以完成此操作,一種是使用Jenkins,就像Jenkins監視S3存儲桶,然后停止,更換,重新啟動服務器和WAR,而無需每次都創建新實例。

另一個在該實例上使用Chef,它將每5分鍾檢查一次S3存儲桶,例如,如果有一個新的WAR文件,則將其下拉。 (假設WAR文件名沒有改變...),使用一些魔術腳本來停止服務器,替換WAR文件,重新啟動服務器,所有這些都在同一實例上運行。

由於我不了解CI / CD,Jenkins或Chef。

因此,任何建議或示例都將大有幫助! 提前致謝!

如果這確實是您要做的一切,那么Chef肯定會過頭了。 一個簡單的bash腳本可以從cron(或者如果想成為超級幻想者,可以使用systemd計時器單元)運行,則可能會很好。 我會從小處着手,並盡量不要使事情變得過於復雜,部署管道中移動的部分越多,可能發生的事情就越多(通常在最壞的時間)。

如何觀看上傳war文件的過程,而不是觀看s3存儲桶。 將部署設置為上傳過程的下游。 然后,您的停止服務和部署可以通過jenkins成為一堆shell腳本。 它應該只是停止您的服務,可能會使用ssh。 SSH並執行新戰爭的curl / wget(通過刪除舊戰爭)和ssh來啟動服務...您不必通過讓廚師參與而使事情變得復雜。

暫無
暫無

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

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