簡體   English   中英

帶有git的AWS CodeDeploy

[英]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.

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