我已经使用AWS CodeDeploy安装了一个在单个区域上工作的Bitbucket管道。现在,我正在尝试修改现有的设置,以适应多区域部署。这是我的bitbucket-pipelines.yml
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管道使用的访问键也有足够的权限。
发布于 2021-01-21 18:23:05
从错误
调用RevisionDoesNotExistException操作时出错( GetApplicationRevision ):未找到用于修订的应用程序修订。
在上述区域eu-central-1 RevisionDoesNotExistException中没有可用的工件。
根据文档
创建或编辑管道时,必须在管道区域中有工件桶,然后在计划执行操作的每个区域中必须有一个工件桶。
因此,您必须有一个upload部分以及OR
我要做的是按照region OR有一个单独的步骤
设置用于Amazon S3的跨区域复制,这将允许我复制我想要的任何区域的文章,并且只能在pipeline.yml中有一个upload。
查看这篇博文使用AWS CodePipeline执行多区域部署
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'https://stackoverflow.com/questions/65830766
复制相似问题