[英]AWS Elastic Beanstalk Deployment Order
我正在將代碼部署到單實例Web服務器AWS EB環境中,該環境將配置/更新我連接的RDS數據庫。 我有一個.ebextensions文件,該文件調用部署代碼:
---
container_commands:
01deploydb:
command: /var/www/html/php/cli/deploy-db.php
leader_only: true
在同一部署中,我將deploy-db.php文件放回一個目錄到/cli/
。 在部署時,出現ERROR: [Instance: i-*****] Command failed on instance. Return code: 127 Output: /bin/sh: /var/www/html/php/cli/deploy-db.php: No such file or directory. container_command 01deploydb in .ebextensions/01_db.config failed. For more detail, check /var/log/eb-activity.log using console or EB CLI.
ERROR: [Instance: i-*****] Command failed on instance. Return code: 127 Output: /bin/sh: /var/www/html/php/cli/deploy-db.php: No such file or directory. container_command 01deploydb in .ebextensions/01_db.config failed. For more detail, check /var/log/eb-activity.log using console or EB CLI.
如果我部署的版本不包含該命令,則部署第二個包含該命令的更新,則沒有錯誤。 但是,同時添加命令和它調用的文件會產生錯誤。 先前使用不同的命令/文件發生了類似的順序。
我的問題是:AWS如何更新環境是否有記錄的訂單/順序? 我希望在調用container_commands之前,我的新版本將完全部署(並安裝.php文件)。
命令:部分在放置項目文件之前運行。 例如,您可以在此處安裝服務器軟件包。
container_commands:節在將文件放入其最終目的地之前,在暫存目錄中運行。 如果需要,您可以在此處修改文件。 當前路徑是此暫存目錄,因此您可以像這樣運行它(我可能將應用程序目錄弄錯了,也許應該是php/cli/deploy-db.php
)
container_commands:
01deploydb:
command: cli/deploy-db.php
leader_only: true
上面的參考: http : //docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html
您還可以運行部署后腳本。 這沒有很好的記錄(至少沒有記錄)。 您可以執行以下操作(盡管它不會成為領導者,但是您可以通過container_commands:
將文件放在此目錄中):
files:
"/opt/elasticbeanstalk/hooks/appdeploy/post/99_deploy.sh":
mode: "000755"
owner: root
group: root
content: |
#!/usr/bin/env bash
/var/www/html/php/cli/deploy-db.php
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.