问题描述
我有一条通过CodeStar Connection连接到GitHub的AWS Pipeline。该过程如下所示:
- 从GitHub拉取源
- 构建项目
- 运行测试
- 部署
在第4步之前(或作为第4步的一部分),我希望AWS Pipeline用git标签标记代码,然后将其推回到GitHub中的仓库中。
我该怎么做?
解决方法
在阅读您的问题时,听起来您在将管道连接到GitHub时没有问题,但是问题特别是关于将标签推送到GitHub的问题(因为工作流程的其余部分似乎工作正常)。
在这种情况下,您需要知道默认情况下Git不会将标签推送到远程服务器(在本例中为GitHub)。
要推送特定标签,您需要运行(假设您的遥控器称为origin
):
git push origin <tagname>
如果要一次推送所有标签,可以运行:
git push origin --tags
请参阅tagging chapter of Git book中的“共享标签”部分以供参考。
如果您的问题不是关于将标签推送到您的远程,而是特别是关于AWS管道,那么这不能回答问题。
,您将需要在Pipeline中的Step4之前/之后执行CodeBuild操作,该操作将基本上执行git tagging命令并按其他评论者所述推送到原点。 CodeBuild项目的示例buildspec如下所示:
version: 0.2
env:
git-credential-helper: yes
phases:
install:
runtime-versions:
python: 3.7
build:
commands:
- echo Build started on `date`
- git checkout master
- git tag ${BUILD_NUMBER} ${CODEBUILD_RESOLVED_SOURCE_VERSION}
- git push origin master --tags ${BUILD_NUMBER}