플러그인에 새 기능을 추가하려고 할 때 다음과 같은 문제가 발생했습니다. 목표는 빌드 중에 덮어 쓰여지는 환경 변수의 변경 사항을 잡는 것입니다.
예 : 쉘 스크립트에서 새 값을 가져 오는 문자열 변수 (param1).
jenkins에서 게시물 빌드 환경 변수를 가져 오는 중
@Extension
public class MyRunListener extends RunListener<Run>{
@Override
public Environment setUpEnvironment(AbstractBuild build, Launcher launcher,
BuildListener listener) throws IOException, InterruptedException {
return new Environment(){
@Override
public boolean tearDown(AbstractBuild build, BuildListener listener)
throws IOException, InterruptedException {
EnvVars envVars = build.getEnvironment(listener);
String param1 = envVars.get("param1");
return super.tearDown(build, listener);
}
};
}
}
작업 실행 : PARAM1 = DEFAULTVALUE을
그래서, 나는 다음과 같은 코드를 추가. 그런 다음 작업이 param1 = newValue로 변경됩니다. 의 tearDown (...) 나는 PARAM1의 새 값을 얻으려고 방법 내부
,하지만 난 이 = DEFAULTVALUE이 아닌 새 값으로 덮어 쓴 PARAM1 변경, 전에 변수의 목록을 쉘 명령, 여기서 param1 = newValue.
프로그래밍 방식으로 새 값을 가져올 수 있습니까? 나는 속성 파일에 쓸 수 있고 그것을 읽을 수 있다는 것을 알고 있지만, 나는 "무대 뒤"해결책을 찾고있다.
Jeanne에게 감사하지만 jenkins가 * tearDown (...) *을 호출 할 때까지 프로세스가 이미 닫혀 있고 속성이 null입니다. – Moosh