如何 trim 部分 git rev-parse 来自 windows slave 的输出
How to trim part of git rev-parse output from windows slave
我的 jenkinsfile.groovy
(运行 在 windows
奴隶上有以下输出):
命令:
def commitHash = bat(returnStdout: true, script: "git rev-parse HEAD").trim()
commitHash
内容:
c:\jenkins-slave\workspace\test-K5I54FOWDXJU7QWEX2YF4ZSWVNSFITDVMLAIK3SVMG3V4JJM2QHA>git rev-parse HEAD 123456
我怎么才能从中得到123456
?
这类似于JENKINS-44569
def getCommandOutput(cmd) {
if (isUnix()){
return sh(returnStdout:true , script: '#!/bin/sh -e\n' + cmd).trim()
} else{
stdout = bat(returnStdout:true , script: cmd).trim()
result = stdout.readLines().drop(1).join(" ")
return result
}
}
那个或将 @echo off
添加到命令中,如 seen here(并在下面评论)
env.gitcurrent= \
bat(returnStdout: true, script: "@echo off | git --git-dir=${WORKSPACE}\.git rev-parse HEAD 2> nul || echo githash").trim()
我的 jenkinsfile.groovy
(运行 在 windows
奴隶上有以下输出):
命令:
def commitHash = bat(returnStdout: true, script: "git rev-parse HEAD").trim()
commitHash
内容:
c:\jenkins-slave\workspace\test-K5I54FOWDXJU7QWEX2YF4ZSWVNSFITDVMLAIK3SVMG3V4JJM2QHA>git rev-parse HEAD 123456
我怎么才能从中得到123456
?
这类似于JENKINS-44569
def getCommandOutput(cmd) {
if (isUnix()){
return sh(returnStdout:true , script: '#!/bin/sh -e\n' + cmd).trim()
} else{
stdout = bat(returnStdout:true , script: cmd).trim()
result = stdout.readLines().drop(1).join(" ")
return result
}
}
那个或将 @echo off
添加到命令中,如 seen here(并在下面评论)
env.gitcurrent= \
bat(returnStdout: true, script: "@echo off | git --git-dir=${WORKSPACE}\.git rev-parse HEAD 2> nul || echo githash").trim()