Создание «.env» при развертывании с помощью надстройки Bitbucket AWS CodeDeploy - PullRequest
0 голосов
/ 07 мая 2018

Как создать ".env" при развертывании с помощью дополнения Bitbucket AWS CodeDeploy?

Я вижу, bitbucket-pipelines.yml может генерировать .env из переменных среды bitbucket, но как связать его с надстройкой Bitbucket AWS CodeDeploy?

appspec.yml - может запускать сценарий при развертывании, но как я могу получить его .env из переменных среды bitbucket?

Ответы [ 2 ]

0 голосов
/ 02 декабря 2018

BitBucket не должен создавать .env, этот сервис не должен ничего знать о продукции .env. Вместо этого производственный .env должен находиться в защищенном AWS S3 bucket, где только AWS CodeDeploy сценарии могут взять его и поместить в экземпляр.

это будет скопировано так

sudo aws --region us-east-2 s3 cp "s3://${S3_NAME}/prod.env" "${EC2_DIRECTORY}/.env"
0 голосов
/ 15 мая 2018

Глядя на документацию , BitBucket должен сделать среды доступными в среде сборки, и вы должны иметь возможность доступа к ним непосредственно в ваших сценариях, запускаемых вашим appspec.yml, точно так же, как вы обращались бы к любым другим переменные окружения.

Например, если у нас был apppec вроде этого:

hooks:
   AfterInstall:
     - location: scripts/runTests.sh
       timeout: 180

Вы можете получить доступ к переменным окружения в scripts/runTests.sh следующим образом:

# scripts/runTests.sh
echo "$BITBUCKET_BUILD_NUMBER"
# Or, use in some other valid way in your script
...