두 대의 원격 컴퓨터 A와 B가 있습니다. 둘 다 Jenkins가 설치되어 있습니다.Jenkins- 원격 컴퓨터에서 다른 작업이 완료되면 jenkins 작업을 예약하는 방법
A : 이것은 트렁크에서 빌드됩니다.
B : 자동화를 트리거합니다.
머신 A에서 빌드가 성공하면 어떻게 머신 B에서 젠킨스 작업을 구성 할 수 있습니까?
두 대의 원격 컴퓨터 A와 B가 있습니다. 둘 다 Jenkins가 설치되어 있습니다.Jenkins- 원격 컴퓨터에서 다른 작업이 완료되면 jenkins 작업을 예약하는 방법
A : 이것은 트렁크에서 빌드됩니다.
B : 자동화를 트리거합니다.
머신 A에서 빌드가 성공하면 어떻게 머신 B에서 젠킨스 작업을 구성 할 수 있습니까?
내가 사용하고 있던 서버 중 하나가 다른 회사에 속해 있기 때문에 동일한 요구 사항이 있었기 때문에 가능한 경우에도 구매를 위해 시간을 들여야했습니다. 비록 내가 그것과 그것의 산출물을 모니터하는 접근을 허용 받았다고하더라도, 그들의 젠킨스는 설치되었다. 그러나 이러한 제한이 없다면이 문제를 해결하기 위해 전체 마스터 - 슬레이브 구성을 따라야합니다. 즉, 여기에 제가 생각해 낸 해결책이 있습니다. 가능한 한 마스터 - 노예 경로를 직접 풀어 나가기를 희망하지만, 이것이 왜 진정한 요구 사항인지 설명했습니다.
ScriptTrigger 플러그인 젠킨스에 대한 설치하면 다음과 같은 스크립트를 사용하여 원격 젠킨스 인스턴스를 볼 수 있습니다 : 종료 코드는 '일 때마다 빌드를 예약 할 ScriptTrigger를 가져옵니다
LAST_SUCCESSFUL_UPSTREAM_BUILD=`curl http://my.remote.jenkins.instance.com:8080/job/remoteJobName/lastSuccessfulBuild/buildNumber`
LAST_KNOWN_UPSTREAM_BUILD=`cat $WORKSPACE/../lastKnownUpstreamBuild || echo 0`
echo $LAST_SUCCESSFUL_UPSTREAM_BUILD> $WORKSPACE/../lastKnownUpstreamBuild
exit $(($LAST_SUCCESSFUL_UPSTREAM_BUILD > $LAST_KNOWN_UPSTREAM_BUILD))
'. 적절한 폴링 간격을 설정하십시오.
업스트림 작업이 성공하면 빌드 일정을 잡을 것입니다. 요구 사항에 따라 위 URL에서 "lastSuccessfulBuild"대신 "lastBuild"또는 "lastFailedBuild"를 사용하십시오.
참고 : BASH 셸을 사용하여 구현되었습니다. 다른 유닉스 셸에서도 작동 할 수 있으며 Windows에서는 작동하지 않습니다.