2013-07-24 2 views
1

빌드 지점과 다른 몇 가지 속성에서만 다른 작업 집합이 있습니다. 작업에는 상당히 복잡한 빌드 스크립트가 있으므로이 스크립트의 여러 복사본을 유지하지 않아도됩니다.다른 작업 빌드의 일부로 Jenkins 빌드 작업을 실행하는 방법

중복 구성을 피할 수있는 방법 중 하나는 빌드 스크립트로 하나의 기본 작업을 설정하고 다른 작업의 다른 매개 변수로 해당 작업을 트리거하는 것입니다. 그 방법은 다음과 같은 단점이 있습니다 그러나 :

  • 하나 개의 특정 매개 변수 세트와 함께 발생하는 문제를 분석 할 때, 트리거에 (하류 주요 작업에서의 빌드 상태를 상속) 트리거 작업에서 하나 추가 간접가 주요 직업.
  • git 서브 모듈을 사용하는 프로젝트의 경우 주 작업의 다른 분기를 체크 아웃하는 것이 오류가 발생하기 쉽거나 비용이 많이 드는 것으로 나타났습니다. 각 브랜치에 대해 별도의 작업 공간을 갖는 것이 훨씬 효과적입니다.

내 질문은 : 메인 작업을 트리거하는 대신 트리거 작업에서 주 작업 "인라인"을 실행할 수 있습니까?

예. 주 작업의 콘솔 출력이 트리거 작업의 콘솔에 직접 인쇄되면 좋을 것입니다. 또한 주 작업은 트리거 작업의 작업 영역 (또는 트리거 작업 작업 영역의 하위 폴더에있는 작업 영역)을 사용해야합니다.

답변

2

Template Project Plugin은 내가 찾고있는 기능을 정확하게 제공합니다.

빌드 단계 "다른 프로젝트의 빌더 실행"을 제공하여 트리거 작업에서 구성된대로 다른 작업의 빌드 단계를 실행할 수 있습니다.

이것은 멋지다. 이제 필자의 빌드 작업 (새로운 "템플릿"작업)에서 "메소드 추출"을 수행하고 필요할 때 함께 연결할 수있다.

0

500 개 이상의 빌드 작업을 실행중인 허드슨 인스턴스와 비슷한 관리 효율성 문제가있었습니다. GUI를 사용하여 많은 작업을 수동으로 유지 관리하는 것은 실용적이지 않았습니다. 그러나 CLI - jar 파일 [https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+CLI]로 제공되는 원격으로 및 프로그래밍 방식으로 Jenkins 및 Hudson에서 작업을 제공 할 수 있습니다.

파이썬에서이 파일을 감싸고 빌드 구성을 저장할 XML 파일을 만들었습니다. 이는 또한 CI 인스턴스를 알려진 구성으로 다시 '재설정'할 수있는 기능을 제공합니다. UI에서 수동으로 변경하여 빌드 실패가 발생하거나 배포하는 각 환경에 다른 CI 서버를 사용하는 것으로 의심되는 경우 (예 : dev , test, prod) 새로운 것을 제공해야합니다.

이 방법을 사용한 경우 XML 파일을 생성하고 인스턴스를 제공하는 코드를 작성할 수 있습니다. 나는 이것이 CI 구성을 개정 관리 시스템으로 유지할 수있는 강력한 접근 방법이라고 생각합니다.

간단한 해결책은 아니지만 요청하는 것을 수행하는 플러그인을 찾거나 이름을 지정할 수 없습니다. 플러그인을 작성할 수있는 기회를 제공합니다.

+0

저는 Jenkins UI를 계속 사용하여 구성을 수정할 수있는 솔루션을 선호합니다. 어쨌든 답변 해 주셔서 감사합니다. 다른 사람들에게 도움이 될 것이라고 확신합니다. – oberlies

관련 문제