AWS に 2 つのインスタンスがあります。1 つは製造用、もう 1 つはホモロゲーション用です。CodeDeploy で自動的にデプロイします。BitBucket にはマスターとホモログの 2 つのブランチがあります。ホモログ デプロイでコミットすると、ホモロゲーションのインスタンスに移動する必要があり、マスター デプロイでマージを行う場合、本番段階にある必要があります。
AWS への Bitbucket の自動デプロイを行うために、デプロイの詳細を構成する一連のファイルがあります。これらのファイルの 1 つが appspec.yml です。AWS によると、appspec.yml ファイルのみを持つことが可能です。
この基本フォーム ファイルの構造は次のとおりです。
version: 0.0
os: linux
files:
- source: /
destination: /var/www/html
hooks:
AfterInstall:
- location: deploy-scripts/install_dependencies.py
timeout: 300
runas: root
問題は、インスタンスごとに宛先フォルダーがあることです。
ホモログ インスタンスでデプロイを行う場合、宛先フォルダーはvar/www/htmlである必要があり、運用インスタンスの場合はvar/www/html/test/である必要があります。
以下のようにしてみました。
version: 0.0
os: linux
files:
- source: /
destination: deploy-scripts/destination.py
hooks:
AfterInstall:
- location: deploy-scripts/install_dependencies.py
timeout: 300
runas: root
それがdestination.pyです:
if os.environ['APPLICATION_NAME'] == 'ahimsa-store-homolog':
return '/var/www/html/'
elif os.environ['APPLICATION_NAME'] == 'ahimsa-store':
return '/var/www/html/teste/'
上記のオプションは機能しません。これどうやってするの?