代码管道:仅将特定文件部署到 s3



我在使用 AWS Codepipeline 时遇到问题,而不是将整个 GitHub 存储库部署到 S3 存储桶,我希望 Codepipeline 只部署一个文件。

编辑: 我正在使用 AWS CodeBuild,我的部署 yaml 文件是这个

version: 0.2
phases:
install: 
runtime-versions:
nodejs: 8
commands:
- npm i npm@latest -g
- pip install --upgrade pip
- pip install --upgrade awscli
pre_build:
commands:
- npm install redoc-cli -g
build:
commands:
- redoc-cli bundle ./orchestra/api/api.yml
artifacts:
files:
- redoc-static.html

你快到了。您已经只导出了需要从 CodeBuild 项目(构建规范的工件部分(部署到 S3 的"一个"文件(redoc-static.html(。现在,在 CodePipeline 的 CodeBuild 阶段,为操作命名一个新的"输出工件",然后确保在部署阶段(部署到 S3(使用构建阶段的此输出工件,该阶段将仅包含 CodeBuild 阶段中的一个文件(构建工件(。

这将是一个完整的 CodePipeline 代码段,用于在 CodeFormation 中使用,将列为artifacts: / files:的内容部署到传递到名为 S3Bucket 的模板参数中的现有 S3 存储桶中。(可选(此处的"源"阶段是从链接的 GitHub 存储库中提取的。请注意,ArtifactBucket 是 CodePipeline 在处理过程中用作中介的不同"临时"桶

Pipeline:
Type: AWS::CodePipeline::Pipeline
Properties:
RoleArn: !GetAtt CodePipelineServiceRole.Arn
ArtifactStore:
Type: S3
Location: !Ref ArtifactBucket
Stages:
- Name: Source
Actions:
- Name: App
ActionTypeId:
Category: Source
Owner: ThirdParty
Version: 1
Provider: GitHub
Configuration:
Owner: !Ref GitHubRepoOwner
Repo: !Ref GitHubRepo
Branch: !Ref GitHubBranch
OAuthToken: !Ref GitHubToken
OutputArtifacts:
- Name: App
RunOrder: 1
- Name: Build
Actions:
- Name: Build
ActionTypeId:
Category: Build
Owner: AWS
Version: 1
Provider: CodeBuild
Configuration:
ProjectName: !Ref CodeBuildProject
InputArtifacts:
- Name: App
OutputArtifacts:
- Name: BuildOutput
RunOrder: 1 
- Name: Deploy
Actions:
- Name: Deploy
ActionTypeId:
Category: Deploy
Owner: AWS
Version: 1
Provider: S3
Configuration:
BucketName: !Ref S3Bucket
Extract: true
InputArtifacts:
- Name: BuildOutput
RunOrder: 1

相关内容

  • 没有找到相关文章

最新更新