【问题标题】:Get the Git Working Branch in Gradle on Jenkins在 Jenkins 上的 Gradle 中获取 Git 工作分支
【发布时间】:2015-06-11 08:08:28
【问题描述】:

我想在我的 Android 应用的版本名称中包含当前的 Git 分支。我将这个来自here的sn-p内置到我的build.gradle中:

def getWorkingBranch() {
    // Triple double-quotes for the breaklines
    def workingBranch = """git --git-dir=${rootDir}/git
                               --work-tree=${rootDir}/..
                               rev-parse --abbrev-ref HEAD""".execute().text.trim()
    print "Working branch: " + workingBranch
    return workingBranch
}

按照文章第一条评论中的建议,sn-p 略有改动。

当我在本地构建我的应用程序时它工作正常,但当应用程序使用Jenkins 构建时就不行了。我还尝试了 sn-p 的原始变体,在这两种情况下,workingBranch 字符串都是空的。

Jenkins 似乎“知道”它构建的分支,它在

下列出了分支

Git 构建数据/构建的分支

,所以应该可以

【问题讨论】:

  • 这似乎过于复杂了。为什么不只是git branch
  • 因为我想在构建它的(功能)分支的应用程序中显示调试消息。这将为我们的测试人员简化事情。

标签: git jenkins gradle


【解决方案1】:

如果这仅适用于测试人员/下游,那么改用 Jenkins 的Git environment variables 怎么样,例如$GIT_BRANCH?

在本地,当您构建时它不会显示版本/空,但是当您在 Jenkins 上构建时,它会在您的“版本”字符串中显示正确的分支名称。

要绕过生成空字符串的本地构建,您可以使用上面的 sn-p 将分支设置为 GIT_BRANCH。不完美,但它应该工作。

【讨论】:

猜你喜欢
  • 2017-12-27
  • 1970-01-01
  • 2016-10-14
  • 2017-07-12
  • 2013-02-10
  • 1970-01-01
  • 1970-01-01
  • 2012-01-16
  • 1970-01-01
相关资源
最近更新 更多