我怎么知道詹金斯结帐是否拉了东西?

时间:2018-08-22 17:01:56

标签: jenkins

我有一个pipleline版本,它遍历其他存储库以检查更新。我的詹金斯管道脚本中有这个:(作为通过其他存储库的循环的一部分)

checkout([
  $class: 'GitSCM', branches: [[name: '*/master']],
  userRemoteConfigs: [[url: 'git@gitlab.me.com:me/myRepo.git',credentialsId:'my-key']]
])

代码中是否有方法可以判断是否有任何更新?通常,当我执行“ git pull”时,会收到一条消息,提示“已经更新”。

基本上,如果存储库中没有更改,我不想继续执行脚本。我该怎么办?

1 个答案:

答案 0 :(得分:1)

checkout应该返回由git插件设置的值的映射。 https://wiki.jenkins.io/display/JENKINS/Git+Plugin

所以我相信您可以这样做:

def map = checkout ...
if (map.GIT_COMMIT == map.GIT_PREVIOUS_COMMIT) {
  // no changes
}