git 저장소에서 Jenkinsfile을로드하는 파이프 라인 작업이 있습니다. 내 Jenkinsfile은 다음과 같습니다Jenkins 공유 라이브러리 컨텍스트
#!groovy
@Library('global-utils-lib') _
node("mvn") {
stage('build') {
checkout scm
}
stage('merge-request'){
mergeRequest()
}
}
글로벌 유틸-lib 디렉토리 구조 다음
vars/mergeRequest.groovy
mergeRequest.groovy와 다른 자식의 repo에서 글로벌 파이프 라인 라이브러리에서로드 라이브러리를 공유 :
def call() {
sh "ip addr"
def workspacePath = env.WORKSPACE
new File(workspacePath + "/file.txt").text
}
도커 컨테이너 (도커 플러그인)에 대해 작업이 실행됩니다.
이 작업을 실행하면 도커 컨테이너가 올바르게 준비되고 scm이 다운로드되지만 FileNotFoundException이 발생합니다. 이되지 슬레이브 마스터 젠킨스에 대해 실행되는 공유 라이브러리에서 코드를 다음과 같습니다
- 발표 IP 나는 마스터에서 SCM에 올바른 경로를 통과 할 때
- 파일이 제대로로드 마스터에서 제공
슬레이브에 대해 라이브러리 코드를 실행하려면 어떻게해야합니까? 내가 누락 된 것?
나에게 잘 어울리는데, 나에게 묻는다면 작동해야한다. gpl의 버그 일 수있다 ... –