[英]AWS CodeDeploy with git
我將AWS Codedeploy與git一起用於應用程序部署。 我創建了一個appspec.yml。 在文件部分,我需要將文件從其他文件夾(例如:/home/ec2-user/sample.war)復制到目標位置。
version: 0.0
os: linux
files:
- source: /home/ec2-user/deploy/sample.war
destination: /usr/share/tomcat6/webapps/
文件部分中的source屬性僅在codedeploy代理目錄中查找文件(例如:/ opt / codedeploy-agent / deployment-root / 1d4de60d-99c1-4e40-bd14-335b6f8b5633 / d-sfjksdjfkl / home / ec-user / sample。戰爭)。 根據AWS文檔,它是正確的,是否還有其他選項可用於從ec2實例的不同位置復制文件? 或任何可用於在運行時找到aws codedeploy代理文件夾的變量?
我認為您可以使用鈎子腳本來執行此操作。 似乎該文件未包含在捆綁包中,您可以使用一個簡單的腳本為您執行cp。 我認為最好在“ BeforeInstall”事件期間運行腳本以將腳本復制過來。
您可以在此處查看如何在appsec文件中設置掛鈎。
邦西
您可以完全自定義 CodeDeploy在應用程序安裝之前,之后和期間的功能。 您只需在hooks部分中聲明要復制的文件,如下所示:
appspec.yml
version: 0.0
os: linux
files:
- source: /
destination: /var/www/html/dbex.ml
hooks:
BeforeInstall:
- location: scripts/install_dependencies.sh
timeout: 300
runas: root
AfterInstall:
- location: scripts/after_install.sh
timeout: 300
runas: root
ApplicationStart:
- location: scripts/start_server.sh
timeout: 300
runas: root
ApplicationStop:
- location: scripts/stop_server.sh
timeout: 300
runas: root
您想要做的是在AfterInstall掛鈎中編輯after_install.sh文件,如下所示:
after_install.sh
#!/bin/sh
sudo cp /path/to/file /your/app/folder/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.