gpt4 book ai didi

git - 在Jenkins中从Gradle脚本调用Git时发生错误

转载 作者:行者123 更新时间:2023-12-03 04:35:47 25 4
gpt4 key购买 nike

我正在尝试建立一个名为gradle任务的Jenkins项目。

如果没有 Jenkins (即从命令行),则项目可以正常编译。

但是,当我从jenkins运行它时,它会停止在我构建的特定功能上,以从Git获取总提交数:

def getBuildNumber = { ->
def stdout = new ByteArrayOutputStream()
exec {
commandLine 'git', 'rev-list', 'HEAD', '--count'
standardOutput = stdout
}
return stdout.toString().trim()
}

它产生此错误:
12:19:44.920 [ERROR] [org.gradle.BuildExceptionReporter] FAILURE: Build failed with an exception.
12:19:44.924 [ERROR] [org.gradle.BuildExceptionReporter]
12:19:44.927 [ERROR] [org.gradle.BuildExceptionReporter] * What went wrong:
12:19:44.928 [ERROR] [org.gradle.BuildExceptionReporter] A problem occurred evaluating root project 'MyProject Bitbucket'.
12:19:44.931 [ERROR] [org.gradle.BuildExceptionReporter] > A problem occurred starting process 'command 'git''

我认为这是由 Jenkins 无法识别命令引起的,因此我在执行gradle脚本之前添加了导出路径语句。但是错误仍然会发生。

我不确定我做错了什么,如果有其他选择可以做,那么我将非常乐意尝试。

最佳答案

由于未收到任何回复,因此我决定玩转,并找到一个使用此插件的插件:Gradle Git Plugin

我在提出的问题中发现了一个有关calling rev-list from grgit的问题,并决定在我的构建文件中实现同样的事情。

我将插件添加到我的gradle构建文件中:

plugins {
id 'org.ajoberstar.grgit' version '1.3.2'
}

我将getBuildNumber转换为:
def getBuildNumber = { ->
return grgit.log(includes:['HEAD']).size()
}

之后,它可以在非 Jenkins 和 Jenkins 环境中正常运行。

我仍然在寻找非插件的答案,尽管这个问题。

关于git - 在Jenkins中从Gradle脚本调用Git时发生错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34011109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com