【问题标题】:Can a single CodeCommit repo deploy to multiple environments?单个 CodeCommit 存储库能否部署到多个环境?
【发布时间】:2018-02-16 18:02:41
【问题描述】:

我有一个使用 AWS CodeCommit、CodePipeline 和 CodeDeploy 的简单 Web 应用程序。每当完成更改并将其推送到 git 时,CodePipeline 就会启动并将代码部署到 QA 环境 - WINDOWS。 现在我想设置一个从同一个存储库到生产环境的手动触发部署。但是源代码位置不一样。另外我可能想使用不同的 AfterInstall bat 文件。 在这种情况下,我怎样才能拥有不同的 appspec.yml 或 afterinstall.bat 文件。或者有其他方法吗?

【问题讨论】:

    标签: windows amazon-ec2 aws-code-deploy aws-codepipeline aws-codecommit


    【解决方案1】:

    这是一种应该可行的方法:

    1. 在您的存储库中有两个文件 appspec_qa.yml 和 appspec_prod.yml,每个文件都包含该阶段所需的配置。
    2. 有两个 CodeBuild 步骤,每个步骤都会生成一个单独的工件,并将相应的 appspec_*.yml 重命名为 appspec.yml
    3. 有两个 CodeDeploy 应用程序,一个用于 qa,一个用于 prod。
    4. 有一个管道,用于将 qa 工件部署到 qa CodeDeploy 应用程序,并将 prod 工件部署到 prod CodeDeploy 应用程序。
    5. 在 qa 和 prod 阶段之间进行手动审批

    【讨论】:

    • 谢谢你,我会去的。到目前为止我还没有使用 CodeBuild,这将是一个尝试的机会
    • 能否请您说出最后一步的实际含义 - “在 qa 和 prod 阶段之间进行手动批准”
    • @ChalakaSalpadoru 我的意思是添加手动批准操作。通过 QA 和 prod,我的意思是有 2 个 CodePipeline 阶段。一种部署到您的 QA 环境,另一种部署到您的生产环境。批准手动批准操作,您可以手动控制部署发生的时间。 docs.aws.amazon.com/codepipeline/latest/userguide/…
    猜你喜欢
    • 1970-01-01
    • 2013-01-24
    • 2015-07-29
    • 2013-01-27
    • 1970-01-01
    • 1970-01-01
    • 2017-02-22
    • 1970-01-01
    • 2017-11-26
    相关资源
    最近更新 更多