首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Bitbucket管道使用AWS CodeDeploy部署到多个AWS区域

使用Bitbucket管道使用AWS CodeDeploy部署到多个AWS区域
EN

Stack Overflow用户
提问于 2021-01-21 15:38:54
回答 1查看 978关注 0票数 1

我已经使用AWS CodeDeploy安装了一个在单个区域上工作的Bitbucket管道。现在,我正在尝试修改现有的设置,以适应多区域部署。这是我的bitbucket-pipelines.yml

代码语言:javascript
复制
image: php:7.1.29

pipelines:
  branches:
    develop:
      - step:
          caches:
            - composer
          script:
            - apt-get update && apt-get install -y unzip zip
            - zip -r MobileAPIDEV.zip .
            - pipe: atlassian/aws-code-deploy:0.5.3
              variables:
                AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID 
                AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY 
                AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION 
                APPLICATION_NAME: 'MobileAPIDEV'
                ZIP_FILE: 'MobileAPIDEV.zip'
                COMMAND: 'upload' 
                S3_BUCKET: $S3_BUCKET
            - pipe: atlassian/aws-code-deploy:0.5.3
              variables:
                AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID 
                AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY 
                AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION 
                APPLICATION_NAME: 'MobileAPIDEV'
                DEPLOYMENT_GROUP: 'MobileAPIDEV'
                WAIT: 'false'
                S3_BUCKET: $S3_BUCKET
                COMMAND: 'deploy' 
                IGNORE_APPLICATION_STOP_FAILURES: 'true'
                FILE_EXISTS_BEHAVIOR: 'OVERWRITE'
    master:
      - step:
          caches:
            - composer
          script:
            - apt-get update && apt-get install -y unzip zip
            - zip -r prodMobileAPI.zip .
            - pipe: atlassian/aws-code-deploy:0.5.3
              variables:
                AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID 
                AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY 
                AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION 
                APPLICATION_NAME: 'prodMobileAPI'
                ZIP_FILE: 'prodMobileAPI.zip'
                COMMAND: 'upload' 
                S3_BUCKET: $S3_BUCKET
            - pipe: atlassian/aws-code-deploy:0.5.3
              variables:
                AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID 
                AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY 
                AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION
                APPLICATION_NAME: 'prodMobileAPI'
                DEPLOYMENT_GROUP: 'prodMobileAPI'
                WAIT: 'false'
                S3_BUCKET: $S3_BUCKET
                COMMAND: 'deploy' 
                IGNORE_APPLICATION_STOP_FAILURES: 'true'
                FILE_EXISTS_BEHAVIOR: 'OVERWRITE'
            - pipe: atlassian/aws-code-deploy:0.5.3
              variables:
                AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID 
                AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY # Optional if already defined in the context.
                AWS_DEFAULT_REGION: eu-central-1 
                APPLICATION_NAME: 'prodMobileAPI'
                DEPLOYMENT_GROUP: 'prodMobileAPI'
                WAIT: 'false'
                S3_BUCKET: $S3_BUCKET
                COMMAND: 'deploy' 
                IGNORE_APPLICATION_STOP_FAILURES: 'true'
                FILE_EXISTS_BEHAVIOR: 'OVERWRITE'

我在主分支下添加了第三个pipe,并将eu-central-1设置为新的默认区域。我不确定是否正确,因为我无法找到使用这种方法进行多区域部署的任何示例。

当我尝试部署时,我得到了以下错误:An error occurred (RevisionDoesNotExistException) when calling the GetApplicationRevision operation: No application revision found for revision.

我确认我在另一个区域中的CodeDeploy设置具有正确的角色,并且我为Bitbucket管道使用的访问键也有足够的权限。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-21 18:23:05

从错误

调用RevisionDoesNotExistException操作时出错( GetApplicationRevision ):未找到用于修订的应用程序修订。

在上述区域eu-central-1 RevisionDoesNotExistException中没有可用的工件。

根据文档

创建或编辑管道时,必须在管道区域中有工件桶,然后在计划执行操作的每个区域中必须有一个工件桶。

因此,您必须有一个upload部分以及OR

我要做的是按照region OR有一个单独的步骤

设置用于Amazon S3的跨区域复制,这将允许我复制我想要的任何区域的文章,并且只能在pipeline.yml中有一个upload

查看这篇博文使用AWS CodePipeline执行多区域部署

代码语言:javascript
复制
pipelines:
  branches:
    develop:
      - step:
          caches:
            - composer
          script:
            - apt-get update && apt-get install -y unzip zip
            - zip -r MobileAPIDEV.zip .
            - pipe: atlassian/aws-code-deploy:0.5.3
              variables:
                AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID 
                AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY 
                AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION 
                APPLICATION_NAME: 'MobileAPIDEV'
                ZIP_FILE: 'MobileAPIDEV.zip'
                COMMAND: 'upload' 
                S3_BUCKET: $S3_BUCKET
            - pipe: atlassian/aws-code-deploy:0.5.3
              variables:
                AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID 
                AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY 
                AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION 
                APPLICATION_NAME: 'MobileAPIDEV'
                DEPLOYMENT_GROUP: 'MobileAPIDEV'
                WAIT: 'false'
                S3_BUCKET: $S3_BUCKET
                COMMAND: 'deploy' 
                IGNORE_APPLICATION_STOP_FAILURES: 'true'
                FILE_EXISTS_BEHAVIOR: 'OVERWRITE'
    master:
      - step:
          caches:
            - composer
          script:
            - apt-get update && apt-get install -y unzip zip
            - zip -r prodMobileAPI.zip .
            - pipe: atlassian/aws-code-deploy:0.5.3
              variables:
                AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID 
                AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY 
                AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION 
                APPLICATION_NAME: 'prodMobileAPI'
                ZIP_FILE: 'prodMobileAPI.zip'
                COMMAND: 'upload' 
                S3_BUCKET: $S3_BUCKET
            - pipe: atlassian/aws-code-deploy:0.5.3
              variables:
                AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID 
                AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY 
                AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION
                APPLICATION_NAME: 'prodMobileAPI'
                DEPLOYMENT_GROUP: 'prodMobileAPI'
                WAIT: 'false'
                S3_BUCKET: $S3_BUCKET
                COMMAND: 'deploy' 
                IGNORE_APPLICATION_STOP_FAILURES: 'true'
                FILE_EXISTS_BEHAVIOR: 'OVERWRITE'
            - pipe: atlassian/aws-code-deploy:0.5.3
              variables:
                AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID 
                AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY 
                AWS_DEFAULT_REGION: 'eu-central-1'
                APPLICATION_NAME: 'prodMobileAPI'
                ZIP_FILE: 'prodMobileAPI.zip'
                COMMAND: 'upload' 
                S3_BUCKET: $S3_BUCKET
            - pipe: atlassian/aws-code-deploy:0.5.3
              variables:
                AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID 
                AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY # Optional if already defined in the context.
                AWS_DEFAULT_REGION: 'eu-central-1' 
                APPLICATION_NAME: 'prodMobileAPI'
                DEPLOYMENT_GROUP: 'prodMobileAPI'
                WAIT: 'false'
                S3_BUCKET: $S3_BUCKET
                COMMAND: 'deploy' 
                IGNORE_APPLICATION_STOP_FAILURES: 'true'
                FILE_EXISTS_BEHAVIOR: 'OVERWRITE'
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65830766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档