1

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/'

上記のオプションは機能しません。これどうやってするの?

4

2 に答える 2

0

もう 1 つのオプションは、ブランチごとに異なる appspec を持つことです。マージはより困難になりますが、役立つ可能性があります。

于 2018-10-15T18:13:48.883 に答える