我的Jenkins主管没有执行者 ,而且由于我们公司中Jenkins的设计而没有 执行者 。我们有2个工作节点。当我添加Pipeline共享库时,默认情况下,Jenkins尝试在master中检出并由于明显原因而失败,因为它找不到,git因为在Jenkins master中不可用。
git
Cloning repository git@github.com:Test/jenkins-pipeline-shared.git > git init /var/lib/jenkins/workspace/rp-pipe_PR-675@libs/slackNotify # timeout=10 ERROR: Error cloning remote repo 'origin' hudson.plugins.git.GitException: Could not init /var/lib/jenkins/workspace/rp-pipe_PR-675@libs/slackNotify
我不明白为什么Jenkins甚至可以尝试检出master中的共享库,因为master甚至没有执行者。
我查看了其他人的意见,但我的事情止于尝试结帐的地步。我该如何克服?我以为将共享库的Groovy文件保存在同一回购中,并将该库导入JenkinsFile,但似乎对我也不起作用。我尝试了这个,但詹金斯无法识别modules
modules
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: WorkflowScript: 14: Expected a step @ line 14, column 17. modules.sendNotifications = load "vars/sendNotifications.groovy"
我试过了,libraryResource ('vars/sendNotifications.groovy')但是没有用。詹金斯只是失败而没有抛出任何错误。
libraryResource ('vars/sendNotifications.groovy')
我认为但不知道如何实现的解决方案 :
您可以先尝试获取一个工作程序,然后再从内部加载该库:
pipeline { agent any stages { stage('Init') { steps { library 'my-fancy-library' } } } }