我在使用AWS Codepipeline时遇到了问题,我不希望将整个Codecommit repo部署到S3存储桶,而是希望Codepipeline只部署一个更新过的文件。这里也提出了同样的问题:代码管道:只将特定的文件部署到s3,但我不想要任何特定的文件。任何文件,无论是HTML还是Css,只有更新的文件才应该部署到S3
我正在使用AWS CodeBuild,我的部署yaml文件是这样的:
version: 0.2
phases:
install:
commands:
- echo Entered the install phase...
- apt-get update -y
build:
commands:
- echo Building...
artifacts:
files:
- index.html
discard-paths: yes
secondary-artifacts:
artifact1:
files:
- index.html
现在,在上面的代码中,而不是工件中的index.html中,我应该写什么,这样即使任何其他文件被更改或更新,也只有那个文件应该在S3桶中更新。
不幸的是,CodeBuild中没有内置功能。这意味着你必须在CodeBuild过程中自己编程。
一种可能的方法是在CodeCommit存储库中列出在上次提交中更改的文件。您可以使用git
的功能来完成此操作。