【问题标题】:CI/CD with AWS CodePipeline for a Django App带有 AWS CodePipeline 的 CI/CD 用于 Django 应用程序
【发布时间】:2020-05-02 04:26:22
【问题描述】:

目前,我有一个 AWS Codecommit 存储库和一个 AWS Elastic Beanstalk 环境,在其中我使用 eb deploy 使用 EB CLI 上传更新。

我有一些在 .gitignore 中被忽略的配置文件,我想建立一个 AWS CodePipeline,所以当我将更改推送到存储库时,自动运行测试函数并将更改直接上传到 Elastic Beanstalk

我尝试实现一个简单的管道,将代码推送到 CodeCommit 并部署到 Elastic Beanstalk,但出现以下错误:

2019-09-09 11:51:45 UTC-0500 错误“option_settings”在一个配置文件中验证失败。更多详情请关注。

2019-09-09 11:51:45 UTC-0500 错误您无法从 VPC 中删除环境。在 VPC 之外启动一个新环境。

2019-09-09 11:51:45 UTC-0500 错误无法部署应用程序。

这是不在 Codecommit 中的 *.config 文件

option_settings:
  aws:ec2:vpc:
    VPCId: vpc-xxx
    Subnets: 'subnet-xxx'
  aws:elasticbeanstalk:environment:
    EnvironmentType: SingleInstance
    ServiceRole: aws-xxxx
  aws:elasticbeanstalk:container:python:
    WSGIPath: xxx/wsgi.py
  aws:elasticbeanstalk:healthreporting:system:
    SystemType: enhanced
  aws:elasticbeanstalk:application:environment:
    DJANGO_SETTINGS_MODULE: xxxxsettings
    SECRET_KEY: xxxx
    DB_NAME: xxxx
    DB_USER: xxxx
    DB_PASSWORD: xxxx
    DB_HOST: xxx
    DB_PORT: xxxx
  aws:autoscaling:launchconfiguration:
    SecurityGroups: sg-xxx

【问题讨论】:

  • 编辑:我认为从我一直在阅读的内容来看,我不应该提交我的配置文件,而是将它们添加到 CodeBuild 中,以便生成将部署到 ElasticBeanstalk 的 .zip 文件。

标签: amazon-web-services amazon-elastic-beanstalk aws-codepipeline aws-codebuild aws-codecommit


【解决方案1】:

我注意到一些语法与上面的有点不同:

子网: 值周围有 '',这可能会导致问题吗?如果您在这里有这个,是否应该在其他值周围有 ''?

【讨论】:

  • 并非如此,Yaml 语法可以与引号一起使用。我用它来验证yaml-online-parser.appspot.com
  • 啊,好吧,您检查语法以确保文档中的间距正确吗?我会使用文本编辑器来查看这是否可能是一个问题。此外,您可以尝试添加 option_settings 的每个部分以查看问题发生的时间。
【解决方案2】:

从配置文件看来,您使用的是单实例。对于单实例,您不需要指定自动缩放启动配置。只需删除最后两行就可以正常工作了。

【讨论】:

    【解决方案3】:

    我认为从我一直在阅读的内容来看,我不应该提交我的配置文件,而是将它们添加到 CodeBuild 中,以便生成将部署到 ElasticBeanstalk 的 .zip 文件。

    【讨论】:

      猜你喜欢
      • 2020-05-29
      • 2018-02-19
      • 2020-06-03
      • 1970-01-01
      • 1970-01-01
      • 2021-03-28
      • 1970-01-01
      • 1970-01-01
      • 2021-08-14
      相关资源
      最近更新 更多