2017-08-30 282 views
0

我刚开始学习DevOps并进行查询。这可能是非常基本的,所以请不要介意。如何在Groovy脚本(窗口)中使用GIT命令(diff,log等)

设置: Jenkins,GIT,Groovy,Java安装在单个Windows服务器上。

我的目标是编写一个Groovy脚本,它将执行以下操作: 1.执行GIT命令(在本地GIT存储库上)来提取一些数据(结果)。 2.根据上述结果采取进一步行动。

查询:如何在Groovy脚本中执行GIT命令?什么都需要?如果有人可以请分享一个示例基本脚本,那会很棒。

+0

看[jgit](https://grails.org/plugin/jgit)或[grgit](https://github.com/ajoberstar/grgit) – EMottet

+0

你会用jenkins#pipeline吗? – daggett

+0

@daggett - 最终是!期望是从Jenkins调用这个脚本。 – rock

回答

0

在更广泛的范围,你想达到什么是公正的呼吁从常规的Linux命令,现在就认为:

有3种方式离开这里,要么你可以调用一个shell脚本的Git命令(因为我明白你想用这个jenkins),使用某种形式的git jenkins插件,或者如果你绝对想使用groovy,你可以看看这个问题Groovy executing shell commands,总结一下,你可以做下面的事情:

def proc = "git command args".execute() 
def b = new StringBuffer() 
proc.consumeProcessErrorStream(b) 

println proc.text 
println b.toString() 

在b上如果有的话你会有执行linux命令的错误,

最好的问候,

+0

嗨,非常感谢。能够使用您共享的代码在Groovy脚本中运行git命令。 :)只是一个简单的查询:目前我的git仓库与groovy驻留在同一台机器上,所以我能够运行以下git命令:git --git-dir =“C:/GIT/New/.git”diff .. How当我的git存储库驻留在远程/不同的Windows计算机上时,我会执行相同的操作吗? – rock

+0

非常感谢。我能够使用您共享的代码在Groovy脚本中运行git命令。 :) 只是一个快速查询:目前我的git存储库与groovy驻留在同一台机器上,所以我能够运行以下git命令:def proc =“git --git-dir =”C:/ GIT/New /。 git“diff”.execute().. 当我的git存储库驻留在远程/不同的Windows机器上时,我该如何执行相同的操作? – rock

+0

你只是在包含git命令的字符串中加上“ssh user @ yourremoteserver”,请记住你现在正在处理linux命令,如果它工作,请接受答案:D –

相关问题