2017-08-11 104 views
0

我不知道Jenkins和CI/CD,所以我想在這裏得到一些建議。使用Jenkins在EC2實例上執行CI/CD

我有一個EC2實例,在那個實例中,它將有WildFly + Appeon,我將在WildFly上部署一個War文件。

這個War文件將被存儲在S3存儲桶中。 Jenkins作業將從S3中選取戰爭文件,然後轉到該EC2實例,停止WildFly服務器和Appeon,替換EC2實例上的WAR文件,然後重新啓動Wildfly和Appeon。

我應該知道什麼才能完成這項工作?有什麼建議?

+0

你可以只使用有它內部的AWS CLI命令和SSH命令一個命令行腳本。詹金斯也可以運行任意命令。只需做一個aws s3 cp .....其次是scp,然後是ssh service X restart。我認爲你是安全的複製文件,然後重新啓動服務 –

回答

1

我在我的環境中也有類似的工作。我假設這是一個負載均衡體系結構中的生產環境(具有兩個節點)。要進行平穩部署,首先在停止應用程序之前,通過將LB健康檢查刪除到節點,將節點從LB池中取出。確保LB已啓用連接耗盡。然後,LB將確保所有機上用戶對該節點的請求都已完成,然後再將該節點設置爲OutofService。當您完成node1上的部署時,此時的LB也將開始向LB後面的第二個節點發送後續用戶請求。

這樣,用戶將不會看到一個白色的頁面或504服務器錯誤

相關問題