我有一个jenkins管道,由一个阶段组成,在该阶段中,我在目标目录中签出一个远程git repo,然后进行构建。
我想要实现一种行为,可以有条件地触发构建,例如,如果过去24小时内有一次提交,那么我将进行构建,而不是其他情况。
我有多个这样的阶段,每个阶段都关联有一个不同的git repo,所以我打算建立一个特定的阶段,前提是该回购在最近24小时内才提交。
我尝试过是否可以使用触发器解决此问题,但是我无法通过脚本化管道来实现。
所以我想,如果我可以编写一个可以将上次修改日期与系统日期进行比较的方法,则可以在管道中使用该方法
checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: targetDir], [$class: 'CleanBeforeCheckout'], [$class: 'CloneOption', timeout: 120]], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'bitbucket', url: gitURL]]])
checkLastModified(targetDir)
请建议如何编写checkLastModified
我使用了“ git log -1 --format = %% cd origin / master”
但是它在targetDir的父目录中执行git命令
另外,请告知是否可以通过触发器实现