LabHub

GitLab CI/CD · 설정 언어로서의 .gitlab-ci.yml · 퀴즈

퀴즈: 설정 파일의 문법

LabHub 에서 이어서 보기

문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. 파이프라인 설정을 화면이 아니라 저장소 안 파일로 두는 가장 큰 이득은?

    1. 웹 화면을 조작하는 것보다 타이핑이 빨라 설정 시간이 줄어든다
    2. 설정이 코드와 같은 커밋에 묶여 리뷰·이력·되돌리기가 그대로 적용된다
    3. 저장소 안에 있으면 러너가 잡을 더 빨리 가져가 대기 시간이 준다
    4. YAML 이 데이터베이스보다 저장 공간을 적게 써 비용이 준다
  2. 이름이 점(.)으로 시작하는 최상위 키의 성질로 옳은 것은?

    1. 주석으로 취급되어 YAML 파서가 그 블록을 통째로 무시한다
    2. 스테이지 이름을 적을 때만 쓸 수 있는 예약된 표기법이다
    3. 실행 대상에 올라가지 않고 extends 로 물려주는 조각이 된다
    4. 실행은 되지만 파이프라인 화면에만 표시되지 않는 잡이다
  3. `script` 키가 없는 잡을 설정에 두면 어떻게 되는가?

    1. 설정 검증에서 거부되어 파이프라인 자체가 만들어지지 않는다
    2. 빈 잡으로 즉시 성공 처리되고 로그만 한 줄 남는다
    3. 바로 앞에 정의된 잡의 script 를 그대로 물려받아 실행한다
    4. 러너가 기본 셸만 열어 둔 채 대기 상태로 계속 남는다
  4. `extends` 와 YAML 앵커(`&`/`*`)의 차이로 옳은 것은?

    1. 앵커는 여러 파일에 걸쳐 쓸 수 있고 extends 는 한 파일 안에서만 쓴다
    2. extends 는 매핑을 깊게 병합하고 앵커는 그 자리에 통째로 펼친다
    3. extends 는 잡 이름만 바꿀 수 있고 내용은 바꾸지 못한다
    4. 둘은 동작이 완전히 같고 표기법만 다르다
  5. `default:` 블록이 하는 일은?

    1. 가장 먼저 실행할 잡을 지정해 파이프라인의 시작점을 정한다
    2. 실패한 잡을 다시 돌릴 기본 재시도 횟수만 모아 두는 자리다
    3. 기본 브랜치에서만 적용되는 설정을 따로 모아 두는 자리다
    4. 각 잡이 직접 정하지 않았을 때 적용될 바닥값을 모아 둔다
  6. 잡 하나의 키들을 세 갈래로 묶을 때 'stage·needs·rules' 가 함께 대답하는 질문은?

    1. 이 잡을 언제 돌릴 것인가
    2. 이 잡을 어디서 돌릴 것인가
    3. 이 잡이 무엇을 들고 돌 것인가
    4. 이 잡의 결과를 누가 볼 것인가