我有很多 jenkin 管道从 Bitbucket 加载scm脚本。我们正在将所有仓库迁移到 Git,我想知道是否有一种方法可以将管道脚本的scm从 hg 更改为 Git,而不使用脚本。我在想从控制台执行的脚本?谢谢!
scm
djp7away1#
经过调查,我发现这个解决方案将Mercurialscm更改为GitScm,其中包含存储库url的信息,以及1个管道的凭据,并且我可以将其扩展到管道列表
import hudson.plugins.git.*; def it = Jenkins.instance.getItemByFullName("test-pipeline-scm") def definition = it.getDefinition() String scriptPath = definition.getScriptPath() String url = definition.getScm().getSource() String credentials = definition.getScm().getCredentialsId() def scm = new GitSCM(GitSCM.createRepoList(url, credentials), Collections.singletonList(new BranchSpec("*/master")), false, Collections.<SubmoduleConfig>emptyList(), null, null, Collections.emptyList()) def newDefinition = new org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition(scm, scriptPath) it.definition = newDefinition it.save()
1条答案
按热度按时间djp7away1#
经过调查,我发现这个解决方案将Mercurialscm更改为GitScm,其中包含存储库url的信息,以及1个管道的凭据,并且我可以将其扩展到管道列表