튜토리얼: CI/CD Functions 설정
튜토리얼: CI/CD Functions 설정에 대해 설명합니다.
이 튜토리얼은 파이프라인에서 함수를 생성하고 사용하는 방법을 보여줍니다. 함수는 재사용 가능하고 조합 가능한 Job의 구성 요소입니다. 각 함수는 다른 함수가 사용할 수 있는 구조화된 입력과 출력을 정의합니다. 로컬 파일, GitLab.com 리포지터리, 또는 다른 Git 소스에서 함수를 구성할 수 있습니다. 이 튜토리얼에서는 GitLab CLI( glab )를 사용하여: "hello world"를 출력하는 함수를 만듭니다. 함수를 사용하는 파이프라인을 구성합니다. Job에 여러 함수를 추가합니다. 원격 함수를 사용하여 모든 출력을 에코합니다. 시작하기 전에 # GitLab CLI ( glab )를 설치하고 로그인해야 합니다. 함수 만들기 # 먼저 다음을 사용하여 함수를 만듭니다: exec 타입. 시스템의 실행 API로 시작되는 command . 네임스페이스에 zero-to-steps 라는 GitLab 프로젝트를 만듭니다: glab project create zero-to-steps 프로젝트 리포지터리의 루트로 이동합니다: cd zero-to-steps step.yml 파일을 만듭니다. touch step.yml 텍스트 편집기를 사용하여 step.yml 에 사양을 추가합니다: spec: inputs: who: type: string default: world spec 에는 who 라는 하나의 입력이 있습니다. 입력 who 는 기본값이 있으므로 선택 사항입니다. step.yml 에 구현을 추가하려면, spec 뒤에 exec 키와 함께 두 번째 YAML 문서를 추가합니다: spec: inputs: who: type: string default: world --- exec: command: - bash - -c - echo 'hello ${{inputs.who}}' 삼중 대시( --- )는 파일을 두 개의 YAML 문서로 분리합니다: 첫 번째 문서는 함수 서명과 같은 사양입니다. 두 번째 문서는 함수 본문과 같은 구현입니다. bash 와 -c 인수는 Bash 셸을 시작하고 커맨드 라인 인수에서 스크립트 입력을 받습니다. 셸 스크립트 외에도 command 를 사용하여 docker 나 terraform 같은 프로그램을 실행할 수 있습니다. echo 'hello ${{input.name}}' 인수에는 ${{ 와 }} 안에 표현식이 포함됩니다. 표현식은 가장 마지막 순간에 평가되며 현재 실행 컨텍스트에 접근할 수 있습니다. 이 표현식은 inputs 에 접근하고 who 의 값을 읽습니다: who 가 호출자에 의해 제공되면 해당 값이 표현식 대신 대입됩니다. who 가 생략되면 기본값 world 가 표현식 대신 대입됩니다. 함수를 사용하는 파이프라인 구성 # 리포지터리의 루트에 .gitlab-ci.yml 파일을 만듭니다: touch .gitlab-ci.yml .gitlab-ci.yml 에 다음 Job을 추가합니다: hello-world: run: - name: hello_world step: . run 키워드에는 함수 호출 목록이 있습니다. 각 호출에는
