Jef*_*eff 20 environment-variables amazon-web-services aws-code-deploy
我有一个Web应用程序,它使用环境变量进行某些配置(数据库凭据,API密钥等).我目前正在使用Elastic Beanstalk进行部署,并且可以在AWS中轻松设置这些,这很好,因为我的代码库中没有这些敏感数据.
但是,我正在考虑从Elastic Beanstalk切换,以便我可以在我的Web实例中利用更多的灵活性,当然我正在考虑使用CodeDeploy部署(来自我的Codeship CI设置).CodeDeploy非常简单,我已经将它与Codeship集成得很好,但我注意到没有内置功能来设置CodeDeploy的环境变量,就像Elastic Beanstalk一样.有没有人有这个过程的最佳实践?
我发现设置环境变量的一种方法是通过在AfterInstall挂钩期间运行的脚本(在appspec http://docs.aws.amazon.com/codedeploy/latest/userguide/app-spec-ref.html中指定).
我可以通过调用我的实例元数据来确定我当前在这些脚本中部署的环境,在那里我得到我的实例ID,然后利用aws cli执行过滤到我的实例ID的describe-tags,其中我有一个标签集环境
ID=$(curl "http://169.254.169.254/latest/meta-data/instance-id")
aws --region us-east-1 ec2 describe-tags --filters Name=resource-id,Values=$ID Name=key,Values=Environment
Run Code Online (Sandbox Code Playgroud)
我不喜欢这个,但是在Code Deploy内置了一些内容来将参数传递给appspec之前,这是我能找到的最好的.
归档时间: |
|
查看次数: |
5524 次 |
最近记录: |