windows - 如何从 Windows slave 修剪部分 git rev-parse 输出
问题描述
我的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
到命令中,如此处所示(并在下面评论)
env.gitcurrent= \
bat(returnStdout: true, script: "@echo off | git --git-dir=${WORKSPACE}\\.git rev-parse HEAD 2> nul || echo githash").trim()
推荐阅读
- python - 如何在python中对数字文件数据的列进行排序
- python-3.x - 如何在按下按钮时打开的容器中查找元素
- c++ - 构建 Boost Beast 示例 websocket_server_sync 时出现编译错误
- pytorch - 使用布尔张量对张量进行切片
- python - 用 RStudio 之类的东西开发 Python
- javascript - 如何只允许一个活动的 useState
- python - 单击按钮后如何将 QSpinBox 中的数据保存到变量中?
- c++ - CMakeLists.txt:4 处的 CMake 错误(add_executable)
- java - 弹簧数据。使用本机插入查询保存 BigDecimal 属性
- android - ConstraintLayout 与父级不完全匹配