我想在我的Android应用的“版本”名称中拥有当前的Git分支。我将代码段从此处构建到我的build.gradle:
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 }
如文章的第一条评论中所述,该代码段已稍作更改。
当我在本地构建我的应用程序时,它工作正常,但当使用构建应用程序时,它却无法正常工作Jenkins。我还尝试了代码段的原始变体,在两种情况下,workingBranchString都是空的。
Jenkins
workingBranch
Jenkins似乎“意识到”它建立的分支,它列出了下的分支
Git构建数据/构建分支
,所以应该有可能
如果这仅仅是为测试人员/下游,有关使用詹金斯的什么混帐环境变量来代替,如$GIT_BRANCH?
$GIT_BRANCH
在本地,构建时不会显示任何版本/空白,但是在Jenkins上构建时,它将在“版本”字符串中显示正确的分支名称。
要绕过产生空字符串的本地构建,可以使用上面的代码片段将分支设置为GIT_BRANCH。不完美,但应该可以。
GIT_BRANCH