자동화/CICD

GoCD 기초 설명

bong2. 2022. 9. 27. 00:11

Agent ?

Agent는 GoCD의 Job을 수행하는 역할을 합니다.

GoCD Agent 예시

위 첨부 사진과 같이 RESOURCES를 각각의 Agent에 설정하여 특정 Job만을 수행하게끔 설정 가능합니다.

 

Stage, Job, Task ?

Task는 하나의 명령어 (e.g. ps -ef), Job은 Task의 집합, Stage는 Job의 집합입니다.

GoCD 예시

위 첨부 사진을 예로 보면, ① '01_Set_initial_state' 이름의 Stage 안에 ② 'Set_initial_state' 이름의 Job이 있으며, 해당 Job에는 ③ gauge run -v * Task (Command)가 존재합니다.

 

Agent의 수보다 Job의 개수가 많은 경우에는?

예를 들어, 10개의 Job과 5개의 Agent가 있다고 가정하겠습니다.

그렇다면 각 Agent는 1~5까지의 Job을 1:1로 맡아 수행하고 완료한 Agent부터 남아있는 6~10 Job을 수행합니다.

동작 방식 예시