簡體   English   中英

AWS CodePipeline - 部署到 Elastic Beanstalk 耗時 18 小時。 如何取消?

[英]AWS CodePipeline - Deployment to Elastic Beanstalk has taken 18 hours. How do I cancel it?

我有一個從 GitHub 輸入 Elastic Beanstalk 的代碼管道。 它目前已經部署了 18 個小時,並沒有停止。 誠然,我可能在錯誤地從 Django 項目中刪除應用程序時犯了一個錯誤,但是如何取消 Elastic Beanstalk 部署?

老實說,我什至不確定它是否正確部署,因為當我在 Code Pipeline 內部查看它時 EB 還沒有更新,但是當我在外面查看它並且藍色輪子正在旋轉時它正在進行中(參見圖片)。

我可以刪除數據庫然后重新部署 Django 項目以從頭開始重新啟動所有內容嗎? 這不是一個生產系統,所以它並不重要。

謝謝你的幫助。

外部代碼管道 內部代碼管道

當您部署 EB 應用程序時,它會管理對 EC-2 上單個實例的部署。 如果您終止應用程序的數據庫,它可能不會有任何積極影響。 您應該嘗試終止 EB 應用程序的 EC-2 實例,或運行應用程序的重新構建。

EB 應用程序可以在特定應用程序的控制台視圖中重建,操作 -> 重建環境。 重建將擦除數據庫並重新創建 ec2 實例。

終止或重啟 EC-2 實例:

  1. 轉到服務 -> EC -> 實例
  2. 選中項目實例的復選框
  3. 操作 -> 實例狀態 -> 終止(或重啟)

EB 環境的現狀如何? 您需要將 EB 環境狀態設置為“就緒”或“正在終止/終止”才能讓 CodePipeline 工作進程繼續進行。

有一個黑客可以阻止正在進行的管道。 您需要編輯“BuildTestinTests”操作並將其重命名為其他任何名稱,例如“BuildTestinTests2”。 這將使舊操作成為孤兒,CodePipeline 會認為您從未執行過“BuildTestinTests2”。 舊的孤立操作將在適當的時候終止,這將允許您從控制台再次執行管道。

我嘗試停止和終止 EC2 實例,但不幸的是,當它們重新啟動時,部署就掛了。 我還嘗試停止 EC2 實例,然后通過代碼管道部署代碼,但是一旦我再次啟動它們,它就掛了。

因為 Django 使用遷移,我決定從頭開始清理它。 我確信這不適用於生產環境,但我終止了 EB 環境並禁用了代碼管道,讓我的生活變得輕松。 然后我創建了一個新的 EB 環境並將其鏈接到代碼管道中。 我還刪除並重新創建了數據庫,以便從頭開始創建所有遷移。 這可能有點矯枉過正,但它讓事情再次發揮作用。

謝謝你的幫助。

暫無
暫無

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

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