5.2. 파이프라인 실행 사양의 동적 변수
파이프라인 실행 사양에서 동적 변수를 사용하여 파이프라인 실행을 트리거한 커밋에 대한 정보를 제공하고 Github API 작업에 임시 GitHub 앱 토큰을 사용할 수 있습니다.
Pipeline을 파이프라인 또는 작업 매개변수의 기본값에서 코드 동적 변수로 사용하는 것은 현재 지원되지 않습니다. 값: 필드에서 동적 변수를 사용할 수 있지만
필드에는 사용할 수 없습니다.
default:
5.2.1. 커밋 및 URL 정보
{{<var>}}
형식으로 동적 확장 가능한 변수를 사용하여 커밋 및 URL의 매개변수를 지정할 수 있습니다. 현재 다음 변수를 사용할 수 있습니다.
-
{{repo_owner}}
: 리포지토리 소유자. -
{{REPO_NAME}}
: 리포지토리 이름입니다. -
{{repo_url}}
: 리포지토리 전체 URL입니다. -
{{revision}}
: 커밋의 전체 SHA 버전. -
{{sender}}
: 커밋 보낸 사람의 사용자 이름 또는 계정 ID입니다. -
{{source_branch}}
: 이벤트가 시작된 분기 이름입니다. -
{{target_branch}}
: 이벤트가 대상으로 하는 분기 이름입니다. 푸시 이벤트의 경우source_branch
와 동일합니다. -
{{pull_request_number}}
:pull_request
이벤트 유형에 대해서만 정의된 가져오기 또는 병합 요청 번호입니다. -
{{git_auth_secret}}
: 개인 리포지토리를 확인하기 위해 Git 공급자 토큰을 사용하여 자동으로 생성되는 시크릿 이름입니다.
5.2.2. GitHub API 작업을 위한 임시 GitHub 앱 토큰
Pipelines에서 GitHub App에서 코드로 생성한 임시 설치 토큰을 사용하여 GitHub API에 액세스할 수 있습니다. GitHub App은 git-provider-token
키에 개인 리포지토리의 키를 생성합니다. 파이프라인 실행에서 {{git_auth_secret}}
동적 변수를 사용하여 이 키에 액세스할 수 있습니다.
예를 들어 파이프라인 실행에서 가져오기 요청에 주석을 추가해야 하는 경우 Pipelines를 Code 주석으로 사용하여 Tekton Hub에서 github-add-comment
작업 정의를 가져온 다음 다음 예와 같이 주석을 추가하는 작업을 정의할 수 있습니다.
apiVersion: tekton.dev/v1 kind: PipelineRun metadata: name: pipeline-with-comment annotations: pipelinesascode.tekton.dev/task: "github-add-comment" spec: pipelineSpec: tasks: - name: add-sample-comment taskRef: name: github-add-comment params: - name: REQUEST_URL value: "{{ repo_url }}/pull/{{ pull_request_number }}" - name: COMMENT_OR_FILE value: "Pipelines as Code IS GREAT!" - name: GITHUB_TOKEN_SECRET_NAME value: "{{ git_auth_secret }}" - name: GITHUB_TOKEN_SECRET_KEY value: "git-provider-token"
apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
name: pipeline-with-comment
annotations:
pipelinesascode.tekton.dev/task: "github-add-comment"
spec:
pipelineSpec:
tasks:
- name: add-sample-comment
taskRef:
name: github-add-comment
params:
- name: REQUEST_URL
value: "{{ repo_url }}/pull/{{ pull_request_number }}"
- name: COMMENT_OR_FILE
value: "Pipelines as Code IS GREAT!"
- name: GITHUB_TOKEN_SECRET_NAME
value: "{{ git_auth_secret }}"
- name: GITHUB_TOKEN_SECRET_KEY
value: "git-provider-token"
- 1
- 동적 변수를 사용하면 Pipeline에서 코드로 사용하는 모든 리포지토리에서 가져오기 요청에 이 스니펫 템플릿을 재사용할 수 있습니다.
GitHub 앱에서 생성된 설치 토큰은 8시간 동안 사용할 수 있으며 이벤트가 시작된 저장소로 범위가 지정됩니다. 범위를 다르게 구성할 수 있지만 만료 시간은 GitHub에 의해 결정됩니다.
추가 리소스