2012-10-13 5 views
1

저는 REST API를 노출하는 백엔드 구성 요소를 빌드하고 배포하는 jenkins 빌드 파이프 라인을 보유하고 있습니다. 백엔드 구성 요소를 호출하는 프런트 엔드 구성 요소를 빌드하고 배포하는 또 다른 빌드 파이프 라인이 있습니다. 백 엔드 및 프런트 엔드 구성 요소는 별도의 Git 저장소에 있습니다.Jenkins에서는 어떻게 서로 다른 두 가지 빌드 파이프 라인을 연결합니까?

각각의 Git 저장소에서 커밋이 발생하면 각 파이프 라인의 빌드 작업이 시작됩니다.

각 빌드 파이프 라인의 빌드 파이프 라인 끝에 자동화 된 기능 테스트를 실행하고 싶습니다. 그러나 두 파이프 라인 모두 완료되고 기능 테스트를 실행해야한다는 것을 어떻게 알 수 있습니까? 두 파이프 라인을 함께 연결할 수 있습니까?

답변

2

하나의 접근법은 Locks and Latches 플러그인을 사용하고 각 파이프 라인의 각 작업에 Lock eg Pipeline-A와 Pipeline-B를 제공하면 테스트를 실행하는 작업이 Pipeline- A와 파이프 라인 -B. 이렇게하면 파이프 라인의 일부가 실행중인 경우 테스트 작업이 실행되지 않으며 테스트가 실행되는 동안 파이프 라인의 변경 사항이 차단됩니다.

배포 작업을 잠그고 싶다면 동일한 접근법을 사용할 수 있지만 잠금으로 배포 작업 만 구성하면됩니다. 이렇게하면 일반 빌드가 정상적으로 실행될 수 있지만 배포 작업은 테스트가 실행되는 동안 큐에 대기하게됩니다.

가정;

  • 모든 배포 작업

    는 두 번째 접근 방식은 배포를 수행하기 전에 다음과 같은 레이아웃에서 단일 작업을 트리거하도록 작업 파이프 라인 설정을하는 것입니다

테스트 실행을 트리거된다 배포가 모두 완료하고 성공하는 경우

EndOfPipelineA -> SystemDeploymentController 
EndOfPipelineB -> SystemDeploymentController 
SystemDeploymentController -> DeployAppOne 
SystemDeploymentController -> DeployAppTwo 
DeployAppTwo -> TestExecution 
DeployAppOne -> TestExecution 

그런 다음 당신은 단지 TestExecution 작업을 실행하기 위해 Join 플러그인을 사용합니다.
  • 당신이 경우 전체 시스템을 다시 배포 할 수 있습니다 하나의 직업을 가지고,

    1. 조건부 구축의 성공 여부에 따라 테스트 실행의 실행을 제어 :

      두 번째 방법을 사용하면 다음을 할 수 있습니다 실행중인 시스템을 변경 한 다음 테스트를 자동으로 실행합니다. 이 관리 조금 까다 롭습니다하지만 모두 애플 리케이션이 함께 잘

    을 일했던

  • 는 잠재적으로 "좋은 구성"을 강조 플러그인 프로모션을 사용한다. 이 오래된 질문이지만

  • +1

    잠금 및 래치 플러그인의 올바른 URL은 다음과 같습니다. https://wiki.jenkins-ci.org/display/JENKINS/Locks+and+Latches+plugin –

    +0

    감사합니다. 수정 된 설명으로 업데이트했습니다. . –

    관련 문제