AWS CodeDeploy 和 CodePipeline 使用 S3 存储桶内容作为源

问题描述 投票:0回答:1

每当我的 S3 存储桶中发生文件更改时,我都会使用 AWS CodePipeline 部署到 EC2 实例。目前,仅当我对 S3 存储桶内特定 zip 文件夹内的文件进行更改时,代码管道才会自动启动部署 (

SampleApp_Linux.zip
)。

使用 AWS CDK 时这很不方便,因为我必须解压缩对象,对文件进行更改,然后在推送更改之前再次压缩它。我也无法在代码存储库的压缩文件夹中看到我的文件。

我想知道是否有一种方法可以让 CodePipeline 在 S3 存储桶中的任何文件发生更改时自动启动部署,而不仅仅是 zip 文件夹内的文件(即对

myDummyFiles
文件夹的更改)?

随附的是我的 CodePipeline SourceAction 和 S3 存储桶的屏幕截图。

amazon-web-services amazon-s3 aws-cdk aws-codepipeline aws-code-deploy
1个回答
0
投票

这里有一个选项:配置您的管道源以在代码存储库发生更改时运行。接下来,将

BucketDeployment
构造添加到管道中。在每次管道运行时,
BucketDeployment
都会捆绑您的
SampleApp_Linux
代码并将其保存到 S3 存储桶中。

BucketDeployment 自动构造(使用自定义资源)将从

source
路径创建代码工件并将其复制到
destinationBucket
extract: false
设置告诉 CDK 不要在 S3 目的地解压缩工件。

new BucketDeployment(this, "LinuxAppDeployment", {
    sources: [Source.asset(path.join(__dirname, "./path/to/SampleApp_Linux"))],
    destinationBucket: bucket,
    extract: false,
});
© www.soinside.com 2019 - 2024. All rights reserved.