튜토리얼: CI/CD 함수 설정
튜토리얼: CI/CD 함수 설정에 대해 설명합니다.
이 튜토리얼에서는 파이프라인에서 함수를 생성하고 사용하는 방법을 보여줍니다. 함수는 재사용 가능하고 구성 가능한 잡의 조각입니다. 각 함수는 다른 함수가 사용할 수 있는 구조화된 입력과 출력을 정의합니다. 로컬 파일, GitLab.com 저장소 또는 다른 Git 소스에서 함수를 구성할 수 있습니다. 이 튜토리얼에서는 GitLab CLI( glab )를 사용하여 다음을 수행합니다: "hello world"를 출력하는 함수를 생성합니다. 함수를 사용하도록 파이프라인을 구성합니다. 잡에 여러 함수를 추가합니다. 원격 함수를 사용하여 모든 출력을 에코합니다. 시작하기 전에 # 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 에 다음 잡을 추가합니다: hello-world: run: - name: hello_world step: . run 키워드에는 함수 호출 목록이 있습니다. 각 호출에는 이후 함
