2017-09-22 5 views
1

serial: true에 대한 질문이 있습니다. serial_groups이 이미 여러 작업의 직렬 실행을 제어하는 ​​것처럼 보인 이후 조금 불완전한 것으로 보입니다. 그러나 동시에 plan 안에는 일련의 계획 단계를 실행하는 do과 같은 구조가 있습니다.Concourse의 목적은 serial : true입니다.

serial: boolean 옵션 :

문서는이 말한다. 기본값은 false입니다. true로 설정하면 빌드가 병렬로 실행되는 것이 아니라 하나씩 대기열에 넣어 실행됩니다. 은 "개념"섹션에서

는 콩 코스는이 경우 빌드

라고

으로 작업의 계획의 실행 인스턴스 "를 구축"는 정의하는 것 do 안에 빌드 단계를 지정하지 않으면 동시에 실행됩니까?

답변

0

serial: true은 해당 그룹의 모든 작업이 서로 관련 직렬 실행됩니다 것을 의미 특정 작업는 단 하나의 serial_group에서 여러 작업을 넣어 한 번에 하나의 빌드를 실행하는 것을 의미합니다. 내가 serial: true로 작업 job1을 정의하고, 신속하게 사, 3을 다음 첫 번째 빌드가 실행됩니다 job1 빌드, 2 빌드를 실행하고 4 pending 상태로 대기하는 경우 예를 들어

. 빌드 1이 끝나면 빌드 2가 시작되어 빌드 3을 만들고 빌드 4는 pending 상태가 될 것입니다. A A serial_groupjob1, job2job3을 정의하고 난 후, 동시에 해당 작업 중 하나 떨어져 그들 모두를 걷어차 경우

, 실행, job2 말할 수, 나머지는 pending 상태로 대기합니다 . 그런 다음 다른 직업은 job1이 실행되며 job3은 이 완료 될 때까지 pending 상태가 될 때까지 기다린 다음 job3이 실행됩니다.

+0

동일한 직렬 그룹 내부의 작업 순서는 선언 된 순서에 따라 다릅니다. 'job1','job2','job3'을 그 순서대로 쓰고 똑같은'serial_group' 내에서 정의한 것처럼, 그들은 항상 그 순서대로 실행됩니까? – shinything

+0

나는 이렇게 생각한다. 대답에 무작위 순서로 넣지 말았어야했다. ... –

+0

'serial : true'가 지정되어 있지 않으면 작업 내 단계가 동시에 실행됩니까? – shinything