2017-04-05 1 views
2

은 사용자가 설정할 수있는 파이프 라인을 대본과 같이 PATH의 ENV 변수 :는 젠킨스 선언 파이프 라인의 경로를 설정하는 방법 젠킨스에서

node { 
    git url: 'https://github.com/jglick/simple-maven-project-with-tests.git' 
    withEnv(["PATH+MAVEN=${tool 'M3'}/bin"]) { 
     sh 'mvn -B verify' 
    } 
} 

PATH + MAVEN 여기 https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#code-withenv-code-set-environment-variables 설명 공지 사항 :

설정할 환경 변수 목록을 각각 VARIABLE = value 또는 VARIABLE = 정의되지 않은 변수를 설정 해제합니다. 은 PATH + WHERTVER =/something을 앞에 추가하기 위해 사용할 수도 있습니다./something to $ PATH.

그러나 환경 구문을 사용하여 선언적 파이프 라인에서 수행하는 방법을 찾지 못했습니다 (여기에서 설명 됨 : https://jenkins.io/doc/pipeline/tour/environment).

environment { 
    DISABLE_AUTH = 'true' 
    DB_ENGINE = 'sqlite' 
} 

이상적인 모든 단계에서 맞춤 도구를 사용하도록 PATH를 업데이트하고 싶습니다.

답변

0

다음 링크를 확인하십시오. 도구를 구성하는 방법에 대해 설명합니다. 선언적 파이프 라인을 사용하면 약간 달라 지지만 전반적으로 이해하기 쉽습니다. 파이프 라인의 도구 섹션을 사용

declarative-maven-project

0

에만 사전 설치된 글로벌 도구 허용됩니다. 일부 도구는 플러그인에서 제공하지만, 존재하지 않으면 파이프 라인 도구 선언을 통해 환경 설정을 사용할 수 없습니다.

내가 잘못하고 싶습니다!

+0

내 대답보기 –

2

해결 방법으로, 당신은 환경 변수를 정의 할 수 있으며 sh 단계에서 사용 :

pipeline { 
    environment { 
     MAVEN_HOME = tool('M3') 
    } 

    stages { 
     stage(Maven') { 
      sh '${MAVEN_HOME}/bin/mvn -B verify' 
     } 
    } 
} 
8

이 가능 environment 섹션 :

pipeline { 
    agent { label 'docker' } 
    environment { 
    PATH = "/hot/new/bin:$PATH" 
    } 
    stages { 
    stage ('build') { 
     steps { 
     echo "PATH is: $PATH" 
     } 
    } 
    } 
} 

는 정보를 원하시면 this answer를 참조하십시오.

관련 문제