如何使用CodeStar Connection将git标签推送到AWS Pipeline中的GitHub?

问题描述

我有一条通过CodeStar Connection连接到GitHub的AWS Pipeline。该过程如下所示:

  1. 从GitHub拉取源
  2. 构建项目
  3. 运行测试
  4. 部署

在第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}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...