Bitbucket 管道 - 不同实例上的不同分支



我的应用程序有一个流程,我有一个实例名为暂存,另一个实例是 QA,然后有一个生产实例。我们从暂存创建分支,一旦验证,它们就会合并到暂存中,然后合并到 QA,然后在完全验证后合并到主节点中。我是管道新手,我想实现以程

  • 如果推送了某个分支,则部署应仅在暂存 EC2 实例上进行,并且应切换该分支
  • 如果某个分支合并到暂存中,则部署应仅在暂存上进行
  • 如果暂存随后合并到 QA 中,则部署应仅在 QA 上进行
  • 如果某些内容合并到主节点中,则部署应仅在生产环境中进行

我正在使用 Bitbucket 和 AWS CodeDeploy 服务,存储库托管在 Bitbucket 上目前,我可以在 1 个实例上部署主分支。我怎样才能做到这一点?我的appspec.yml如下

image: php:7.2.13
pipelines:
  branches:
    master:
      - step:
          caches:
            - composer
          script:
            - sh bitbucket-pipelines-common.sh
            - vendor/bin/phpunit
            - sh bitbucket-pipelines-codedeploy.sh
    develop:
      - step:
          caches:
            - composer
          script:
            - sh bitbucket-pipelines-common.sh
            - vendor/bin/phpunit
  custom:
    just-test-without-cache:
      - step:
          script:
            - sh bitbucket-pipelines-common.sh
            - vendor/bin/phpunit

如果代码部署脚本正在从环境中提取 AWS 变量,您可以创建一个 bash 脚本以在该步骤之前运行,该脚本根据分支设置环境变量,即

#!/bin/bash
if [ "$BITBUCKET_BRANCH" = "master" ]
then
    export APPLICATION_NAME="..."
    export DEPLOYMENT_CONFIG="..."
    export DEPLOYMENT_GROUP_NAME="Development"
    export S3_BUCKET=""..."
elif [ "$BITBUCKET_BRANCH" = "staging" ]
then
    export APPLICATION_NAME="..."
    export DEPLOYMENT_CONFIG="..."
    export DEPLOYMENT_GROUP_NAME="Staging"
    export S3_BUCKET=""..."
elif [ "$BITBUCKET_BRANCH" = "production" ]
then
    export APPLICATION_NAME="..."
    export DEPLOYMENT_CONFIG="..."
    export DEPLOYMENT_GROUP_NAME="Production"
    export S3_BUCKET=""..."
fi
我相信

您可以使用部署来做到这一点

所以你会有这样的东西:

image: php:7.2.13
pipelines:
  branches:
    master:
      - step:
          deployment: production
          caches:
            - composer
          script:
            - sh bitbucket-pipelines-common.sh
            - vendor/bin/phpunit
            - sh bitbucket-pipelines-codedeploy.sh
    develop:
      - step:
          deployment: development
           caches:
            - composer
          script:
            - sh bitbucket-pipelines-common.sh
            - vendor/bin/phpunit

相关内容

  • 没有找到相关文章

最新更新