使用AWS ElasticBeanstalk的CD

时间:2018-02-02 12:15:27

标签: amazon-web-services elastic-beanstalk

由于正确的做法似乎是X Y A 10 B 8 C 6 被添加到gitignore,当使用EB作为您的平台时,处理CD的最佳方法是什么?我无法在成功构建时配置我的管道以运行 X new_Y A B 9 C 6 ,因为构建框将不知道与相关堆栈相关的任何配置。

1 个答案:

答案 0 :(得分:2)

您可以通过以下方式实现目标 -

  • 不要忽视.ebextensions,你需要它才能用于CD&这很好 保持版本。 (人们将其添加到.gitignore,以便它不会 自Beanstalk以来进行协作时,开发人员之间存在冲突 从开发人员中心环境开始)
  • 将配置放入.ebextension静态&不会像云计算(磁盘,内存等)和环境一样在环境中进行更改。 自动缩放。
  • 应用程序,环境名称等部署时应包含动态部分(.elasticbeanstalk)。您可以 使用shell作为CD和CD中的构建步骤根据你的工作改变配置。一世 做到如下 -
  

持续部署构建shell脚本

mkdir -p .elasticbeanstalk

cat > .elasticbeanstalk/config.yml << EOF
branch-defaults:
  default:
    environment: dev-api
environment-defaults:
  dev-api:
    branch: null
    repository: null
global:
  application_name: v2
  default_ec2_keyname: DEV
  default_platform: arn:aws:elasticbeanstalk:ap-southeast-1::platform/Multi-container
    Docker running on 64bit Amazon Linux/2.7.5
  default_region: ap-southeast-1
  include_git_submodules: true
  instance_profile: null
  platform_name: null
  platform_version: null
  profile: null
  sc: git
  workspace_type: Application
EOF
  • 您现在可以使用--staged

    将其部署到Beanstalk
    eb deploy $APP_ENVIRONMENT -l ${BUILD_TAG}_${GIT_COMMIT} --timeout 30 --staged | tee deployment.log
    

您需要提供AWS Access密钥&amp;通过环境变量揭秘。

希望这有助于解决这个问题,或者为您提供解决此问题的方法。

注意 - 您甚至可以配置.ebextensions&amp; CD配置中的.elasticbeanstalk目录,以便它不会被检入GIT。