2012-08-09 5 views
2

질문 : 다른 빌드 스트림을 빌드하는 중에 빌드 스트림을 차단하는 방법이 있습니까?Jenkins - 빌드 스트림을 차단하는 방법?

여기 내가하려는 일이 있습니다. 여러 작업을 포함하는 두 개의 빌드 스트림이 있습니다. 주어진 스트림을 위 또는 아래로 작업을 차단할 수 있습니다. 그러나 다른 빌드 스트림이 작성중인 경우 빌드 스트림을 차단할 수는 없습니다. A2 -> B2 -> C2

작업 A1 :

빌드 스트림 1 - -> B1> C1
빌드 스트림 2 A1 여기

내 설정되어A2은 SCM 플러그인을 사용하여 Google 저장소의 별도 위치를 폴링하도록 설정됩니다. 따라서 빌드가 변경되면 언제든지 빌드가 트리거 될 수 있습니다. 빌드 스트림은 독립적으로 처리해야하지만 다른 빌드가 작업을 작성하는 경우 차단해야합니다.

내가 에서 플러그인 차단을 구축하려고했지만 문제가 블록 작업 또는 작업이 현재 구축하는 경우이다. 빌드 대기열에서 대기중인 다른 빌드는 신경 쓰지 않는 것 같습니다.

필자에게 제공되는 리소스의 수가 제한되어 있으므로 빌드를 두 배로 늘려야합니다.

+0

당신이 달성 할 수있는 아이디어에 대한 단일 집행자로 제한하여 원하는 것을 선택할 수 있습니까? –

+0

나는 시도했지만 실패했습니다 ... 아마 각 빌드 스트림을 매개 변수화 할 수 있습니다. 그리고 나서 해당 분기에 따라 repo 공급이 변경되어 빌드에 대한 매개 변수로 사용됩니까? :: 나는 정말로 모른다 :: – user1429220

답변

2

Exclusion Plugin 여기에서 도움을 드릴 수 있습니다.

당신이 빌드 열차를 관리하는 두 개의 다른 작업을 설정 할 것, M1 작업은 다음을 수행하는 단계를 구축해야합니다 :

  1. 잡아 세마포어
  2. 트리거 A1
  3. 대기에 대한 C1은 가

    M2 작업이 유사합니다

  4. 이 세마포어
릴리스칩니다

  1. 잡아 세마포어
  2. 트리거 A2
  3. 기다립니다 C2는
  4. 출시 세마포어

당신은 시간 제한을 필요를 완료,하지만 본질적으로

관련 문제