我的Jenkins管理员没有执行者,并且由于我们公司拥有的Jenkins的设计而无法执行。我们有2个工作节点。当我添加Pipeline共享库时,默认情况下,Jenkins尝试在master中检出,由于明显的原因而失败,因为它找不到git
,因为在Jenkins master中不可用。
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,但似乎对我也不起作用。我尝试了this,但詹金斯无法识别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')
,但是没有用。詹金斯只是失败而没有抛出任何错误。
我认为但不知道如何实现的解决方案:
答案 0 :(得分:1)
您可以先尝试获取一个工作人员,然后再从内部加载该库:
pipeline {
agent any
stages {
stage('Init') {
steps {
library 'my-fancy-library'
}
}
}
}