3.3. Git 리포지토리에서 원격 파이프라인 또는 작업 지정


Git 확인자를 사용하여 Git repostory에서 원격 파이프라인 또는 작업을 지정할 수 있습니다. 리포지토리에는 파이프라인 또는 작업을 정의하는 YAML 파일이 포함되어야 합니다. Git 확인자는 익명 복제 또는 인증된 SCM API를 사용하여 리포지토리에 액세스할 수 있습니다.

3.3.1. 익명 Git 복제에 대한 Git 확인자 구성

익명 Git 복제를 사용하려면 Git 리포지토리에서 원격 파이프라인 및 작업을 가져오기 위해 기본 Git 버전, 시간 초과 및 기본 리포지토리 URL을 구성할 수 있습니다.

프로세스

  1. TektonConfig 사용자 지정 리소스를 편집하려면 다음 명령을 입력합니다.

    $ oc edit TektonConfig config
  2. TektonConfig 사용자 정의 리소스에서 pipeline.git-resolver-config 사양을 편집합니다.

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      pipeline:
        git-resolver-config:
          default-revision: main 1
          fetch-timeout: 1m 2
          default-url: https://github.com/tektoncd/catalog.git 3
    1
    지정되지 않은 경우 사용할 기본 Git 버전입니다.
    2
    단일 Git 복제 확인에 최대 시간이 걸릴 수 있습니다(예: 1m,2s,700ms ). Red Hat OpenShift Pipelines는 모든 해결 요청에 대해 글로벌 최대 시간 초과를 1분으로 적용합니다.
    3
    없음이 지정되지 않은 경우 익명 복제의 기본 Git 리포지토리 URL입니다.

3.3.2. 인증된 SCM API에 대한 Git 확인 프로그램 구성

인증된 SCM API의 경우 인증된 Git 연결에 대한 구성을 설정해야 합니다.

go-scm 라이브러리에서 지원하는 Git 리포지토리 공급자를 사용할 수 있습니다. 모든 go-scm 구현이 Git 리졸버에서 테스트된 것은 아니지만 다음 공급자가 작동하는 것으로 알려져 있습니다.

  • GitHub.com 및 GitHub Enterprise
  • GitLab.com 및 자체 호스팅 Gitlab
  • Gitea
  • BitBucket Server
  • Bitbucket 클라우드
참고
  • 클러스터에 대해 인증된 SCM API를 사용하여 하나의 Git 연결만 구성할 수 있습니다. 이 연결은 클러스터의 모든 사용자가 사용할 수 있게 됩니다. 클러스터의 모든 사용자는 연결에 대해 구성하는 보안 토큰을 사용하여 리포지토리에 액세스할 수 있습니다.
  • 인증된 SCM API를 사용하도록 Git 확인자를 구성하는 경우 익명 Git 복제 참조를 사용하여 파이프라인 및 작업을 검색할 수도 있습니다.

프로세스

  1. TektonConfig 사용자 지정 리소스를 편집하려면 다음 명령을 입력합니다.

    $ oc edit TektonConfig config
  2. TektonConfig 사용자 정의 리소스에서 pipeline.git-resolver-config 사양을 편집합니다.

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      pipeline:
        git-resolver-config:
          default-revision: main 1
          fetch-timeout: 1m 2
          scm-type: github 3
          server-url: api.internal-github.com 4
          api-token-secret-name: github-auth-secret 5
          api-token-secret-key: github-auth-key 6
          api-token-secret-namespace: github-auth-namespace 7
          default-org: tektoncd 8
    1
    지정되지 않은 경우 사용할 기본 Git 버전입니다.
    2
    단일 Git 복제 확인에 최대 시간이 걸릴 수 있습니다(예: 1m,2s,700ms ). Red Hat OpenShift Pipelines는 모든 해결 요청에 대해 글로벌 최대 시간 초과를 1분으로 적용합니다.
    3
    SCM 공급자 유형입니다.
    4
    인증된 SCM API와 함께 사용할 기본 URL입니다. github.com,gitlab.com 또는 BitBucket Cloud를 사용하는 경우에는 이 설정이 필요하지 않습니다.
    5
    SCM 공급자 API 토큰이 포함된 시크릿의 이름입니다.
    6
    토큰이 포함된 토큰 시크릿 내의 키입니다.
    7
    토큰 시크릿이 포함된 네임스페이스가 기본값이 아닌 경우입니다.
    8
    선택 사항: 인증된 API를 사용하는 경우 리포지토리의 기본 조직입니다. 이 조직은 확인자 매개변수에 조직을 지정하지 않는 경우 사용됩니다.
참고

인증된 SCM API를 사용하려면 scm-type,api-token-secret-name, api-token-secret-key 설정이 필요합니다.

3.3.3. Git 확인자를 사용하여 원격 파이프라인 또는 작업 지정

파이프라인 실행을 생성할 때 Git 리포지토리에서 원격 파이프라인을 지정할 수 있습니다. 파이프라인 또는 작업 실행을 생성할 때 Git 리포지토리에서 원격 작업을 지정할 수 있습니다.

사전 요구 사항

  • 인증된 SCM API를 사용하려면 Git 확인자에 대해 인증된 Git 연결을 구성해야 합니다.

프로세스

  1. Git 리포지토리에서 원격 파이프라인 또는 작업을 지정하려면 pipelineRef 또는 taskRef 사양에 다음 참조 형식을 사용합니다.

    # ...
      resolver: git
      params:
      - name: url
        value: <git_repository_url>
      - name: revision
        value: <branch_name>
      - name: pathInRepo
        value: <path_in_repository>
    # ...
    표 3.3. Git 확인자에 지원되는 매개변수
    매개변수설명예시 값

    url

    익명 복제를 사용하는 경우 리포지토리의 URL입니다.

    https://github.com/tektoncd/catalog.git

    repo

    인증된 SCM API를 사용하는 경우 리포지토리 이름입니다.

    test-infra

    조직

    인증된 SCM API를 사용하는 경우 리포지토리의 조직입니다.

    tektoncd

    버전

    리포지토리의 Git 버전입니다. 분기 이름, 태그 이름 또는 커밋 SHA 해시를 지정할 수 있습니다.

    aeb957601cf41c012be462827053a21a420befca
    main
    v0.38.2

    pathInRepo

    리포지토리에 있는 YAML 파일의 경로 이름입니다.

    task/golang-build/0.3/golang-build.yaml

    참고

    리포지토리를 복제 및 가져오려면 url 매개변수를 사용합니다. 인증된 SCM API를 사용하려면 repo 매개변수를 사용합니다. url 매개변수와 repo 매개변수를 함께 지정하지 마십시오.

    파이프라인 또는 작업에 추가 매개변수가 필요한 경우 파이프라인, 파이프라인 실행 또는 작업 실행 사양의 params 섹션에 이러한 매개변수 값을 지정합니다. pipelineRef 또는 taskRef 사양의 params 섹션에는 해결자가 지원하는 매개변수만 포함되어야 합니다.

다음 예제 파이프라인 실행은 Git 리포지토리의 원격 파이프라인을 참조합니다.

apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
  name: git-pipeline-reference-demo
spec:
  pipelineRef:
    resolver: git
    params:
    - name: url
      value: https://github.com/tektoncd/catalog.git
    - name: revision
      value: main
    - name: pathInRepo
      value: pipeline/simple/0.1/simple.yaml
  params:
  - name: name
    value: "testPipelineRun"
  - name: sample-pipeline-parameter
    value: test

다음 예제 파이프라인은 Git 리포지토리의 원격 작업을 참조합니다.

apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
  name: pipeline-with-git-task-reference-demo
spec:
  tasks:
  - name: "git-task-reference-demo"
    taskRef:
      resolver: git
      params:
      - name: url
        value: https://github.com/tektoncd/catalog.git
      - name: revision
        value: main
      - name: pathInRepo
        value: task/git-clone/0.6/git-clone.yaml
    params:
    - name: sample-task-parameter
      value: test

다음 예제 작업 실행에서는 Git 리포지토리의 원격 작업을 참조합니다.

apiVersion: tekton.dev/v1
kind: TaskRun
metadata:
  name: git-task-reference-demo
spec:
  taskRef:
    resolver: git
    params:
    - name: url
      value: https://github.com/tektoncd/catalog.git
    - name: revision
      value: main
    - name: pathInRepo
      value: task/git-clone/0.6/git-clone.yaml
  params:
  - name: sample-task-parameter
    value: test
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.