나는 다음과 같은 것을 할 수 있기를 원한다.
AOEU=$(echo aoeu)
Jenkins를 설정했습니다 AOEU=aoeu
.
Jenkins 의 환경 변수 섹션은 그렇게하지 않습니다. 대신에을 설정합니다 AOEU='$(echo aoeu)'
.
Jenkins가 쉘 명령을 평가하고 출력을 환경 변수에 할당하도록하려면 어떻게해야합니까?
결국 작업 실행자를 다른 스크립트로 전달하거나 다른 스크립트에서 사용할 수있는 환경 변수에 할당 할 수 있기를 원합니다.
답변
다음과 같은 방법으로 EnvInject 플러그인 을 통해 수행 할 수 있습니다 .
-
다음을 실행하는 “쉘 실행”빌드 단계를 작성하십시오.
echo AOEU=$(echo aoeu) > propsfile
-
환경 변수 주입 빌드 단계를 작성하고 “속성 파일 경로”를로 설정하십시오
propsfile
.
참고 :이 플러그인은 대부분 파이프 라인 플러그인과 호환되지 않습니다.
답변
답변
내 경우에는, 내가 추가 할 필요 JMETER_HOME
에서 내 로컬 빌드 환경 (Windows 및 Mac)을 방해하지 않을 방식으로, 내 젠킨스 서버 (리눅스)의 모든 프로젝트에서 내 Ant 빌드 스크립트를 통해 할 수 할 수 환경 변수를 build.xml
스크립트 . Jenkins 관리-시스템 구성-글로벌 특성 을 통해 환경 변수를 설정하는 것이 가장 쉽고 가장 방해가되지 않는 방법입니다. 플러그인이 필요하지 않습니다.
그런 다음 Ant를 통해 환경 변수를 사용할 수 있습니다.
<property environment="env" />
<property name="jmeter.home" value="${env.JMETER_HOME}" />
다음을 추가하여 작동하는지 확인할 수 있습니다.
<echo message="JMeter Home: ${jmeter.home}"/>
어느 생산 :
JMeter 홈 : ~ / .jmeter
답변
Environment Injector 플러그인 을 사용 하여 작업 및 노드 레벨에서 Jenkins의 환경 변수를 설정할 수 있습니다 . 아래에서는 작업 수준에서 설정하는 방법을 보여줍니다.
- Jenkins 웹 인터페이스
Manage Jenkins > Manage Plugins
에서 플러그인으로 이동하여 설치하십시오.
- 작업
Configure
화면으로 이동 - 섹션
Add build step
에서 찾아서Build
선택Inject environment variables
- 원하는 환경 변수를 VARIABLE_NAME = VALUE 패턴으로 설정하십시오. 제 경우에는 USERPROFILE 변수의 값을 변경했습니다
일부 조건 (예 : 작업 매개 변수)에 따라 새 환경 변수를 정의해야하는 경우이 답변을 참조하십시오 .
답변
이런 식으로 시도해 볼 수 있습니다
stages {
stage('Build') {
environment {
AOEU= sh (returnStdout: true, script: 'echo aoeu').trim()
}
steps {
sh 'env'
sh 'echo $AOEU'
}
}
}
답변
EnvInject Plugin 일명 ( Environment Injector Plugin )은 Jenkins 구성에서 환경 변수를 설정하는 몇 가지 옵션을 제공합니다.
선택 Inject environment variables to the build process
하면 다음을 얻을 수 있습니다.
Properties File Path
Properties Content
-
Script File Path
-
Script Content
-
그리고 마지막으로
Evaluated Groovy script
.
Evaluated Groovy script
실행 된 명령의 결과에 따라 환경 변수 를 설정할 수 있습니다 .
- 와
execute
방법
return [HOSTNAME_SHELL: 'hostname'.execute().text,
DATE_SHELL: 'date'.execute().text,
ECHO_SHELL: 'echo hello world!'.execute().text
]
- 또는 명시 적
Groovy
코드로 :
return [HOSTNAME_GROOVY: java.net.InetAddress.getLocalHost().getHostName(),
DATE_GROOVY: new Date()
]
(각 방법에 대한 자세한 내용은 내장 도움말 (?)에서 찾을 수 있습니다.)
불행히도 다음과 같이 할 수는 없습니다 Script Content
.
폴더 생성, 파일 복사 등과 같은 환경 설정을 목표로하는 스크립트 파일을 실행합니다. 스크립트 파일 내용을 제공하십시오. 위의 속성 변수를 사용할 수 있습니다. 그러나 스크립트에서 환경 변수를 추가하거나 재정의하더라도 빌드 작업에는 영향을 미치지 않습니다 .
답변
이 빌드 봉투를 전파 플러그인 은 예를 들어, 새로운 빌드 환경 변수를 추가 할 수 있습니다
후속 Propagate 빌드 환경 변수 단계는 이전에 정의 된 환경 변수 값을 대체합니다.