簡體   English   中英

使用AWS ASG進行代碼部署

[英]Codedeploy with AWS ASG

我已經使用ansible配置了aws asg來設置新實例,然后以類似於此問題中建議的方式通過“ user_data”腳本安裝codedeploy代理:

我可以在自動縮放時使用AWS Code Deploy提取應用程序代碼嗎?

CodeDeploy工作正常,創建應用程序后就可以將其安裝到asg上。 通過我的規則之一在ASG中觸發新實例時(例如,高CPU使用率),將正確安裝codedeploy代理。 問題是,CodeDeploy不會在這些新實例上安裝應用程序。 我懷疑它正在嘗試在user_data腳本完成之前運行。 還有其他人遇到過這個問題嗎? 還是知道如何使CodeDeploy自動將應用程序部署到作為ASG的一部分生成的新實例?

AutoScaling告訴CodeDeploy在啟動用戶數據之前開始部署。 要解決此問題,CodeDeploy會為實例提供長達一個小時的時間來開始輪詢第一個生命周期事件的命令,而不是5分鍾。

由於您在自動部署方面遇到問題,但在手動部署方面沒有問題,並且假設您沒有對忘記的實例進行任何手動更改,因此在實例啟動時很可能還沒有特定於您的部署的依賴項。

嘗試列出成功完成部署所需的所有內容,並在安裝主機代理之前確保每一項都可用。 如果您可以足夠快的速度登錄到實例(在AutoScaling終止實例之前),則可以嘗試獲取主機代理日志和應用程序的日志,以找出部署失敗的地方。

如果您認為主機代理無法完全安裝,請確保已安裝Ruby2.0。 默認情況下,它應該在AmazonLinux上存在,但是Ubuntu和RHEL需要在用戶數據中安裝它,然后才能安裝主機代理。 /tmp中有一個安裝程序日志,您可以在初始安裝中檢查問題(同樣,在實例終止之前,您必須快速抓取日志)。

暫無
暫無

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

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