[Concourse]02_파이프 내부git창고 정보 참조

9793 단어 Concourse
의 목적
Conciourse를 사용하여 git 웨어하우스 및 파이프의
내가 합작을 실현하는 수단을 설명하겠다.
파이프에서git 창고 정보 얻기
정의된 파이프:.
git창고 정보만 참조uname -a퀘스트만 수행하는 파이프.
02/02_pipeline_repository.yaml
resources:
- name: resource-repository
  type: git
  source:
    uri: [email protected]:Fufuhu/concourse_sample.git
    branch: master
    private_key: ((ssh-key))

jobs:
  - name: job-sample
    plan:
      - get: resource-repository
      - task: task-sample
        config:
          platform: linux
          image_resource:
            type: docker-image
            source:
              repository: alpine
              tag: 3.7
          run: 
            path: /bin/sh
            args:
              - -c
              - -x
              - |
                uname -a
git 창고 정보를 정의하는 부분은 다음과 같습니다.
git 자원을 자원(resources)으로 정의합니다.
리소스를 정의하여 작업 가져오기 또는 내보내기
작업 자체 처리에 필요한 정보를 제공하다
작업의 실행 결과에 따라 정보를 출력할 수 있습니다.
git 창고의 정보 부분 (발췌)
resources:
- name: resource-repository
  type: git
  source:
    uri: [email protected]:Fufuhu/concourse_sample.git
    branch: master
    private_key: ((ssh-key))
ssh-key 부분은git 창고에 접근할 때의 ssh 키 정보입니다
다른 파일에서yaml 형식으로 기술합니다.
미션job-sample의 발췌문
jobs:
  - name: job-sample
    plan:
      - get: resource-repository
job-sample에서 작업에 대한 입력 정보로git창고resource-repositoryget.
파이프 정의 투입 및 실행
$ fly -t home sp -p 02_pipeline_sample -c 02/02_pipeline_repository.yaml -l credentials.yaml
credentials.yamlyaml 형식으로git창고에 접근하는 ssh키 정보
구문을 사용합니다.
파이프를 다음 형식으로 표시합니다.

자원resource-repository 작업에 들어가기job-sample나는 네가 알 것이라고 생각한다.
하지만, 이렇게 되면 파이프에git를 입력한 창고일 뿐입니다.
만 포함되어 있으며 작업 내부 작업에서 참조할 수 없습니다.

단, 작업job-sample을 실행하면 작업에서
자원resource-repository의 정보가 식별되었다.
다음은 작업 내부에서 정의된 작업 참조 방법에 대해 설명합니다.
작업 내부 작업task-sample에서 자원resource-respository에 대한 정보를 얻을 수 있음
작업 내부 작업에서 창고 정보를 얻기 위해
설정이 변경되었습니다.
02_pipeline_repository_input.yaml
resources:
- name: resource-repository
  type: git
  source:
    uri: [email protected]:Fufuhu/concourse_sample.git
    branch: master
    private_key: ((ssh-key))

jobs:
  - name: job-sample
    plan:
      - get: resource-repository
      - task: task-sample
        config:
          platform: linux
          image_resource:
            type: docker-image
            source:
              repository: alpine
              tag: 3.7
          inputs:
            - name: resource-repository
          run: 
            path: /bin/sh
            args:
              - -c
              - -x
              - |
                uname -a
                ls -lah
                ls -lah resource-repository
변경 부분은 다음과 같습니다.
task-sample의 정의(발췌문)
      - task: task-sample
        config:
          platform: linux
          image_resource:
            type: docker-image
            source:
              repository: alpine
              tag: 3.7
          inputs:
            - name: resource-repository
이전에 기술하지 않은 inputs의 기술이 있다.
작업의 정의get에 있는 resource-repository에 대한 정보를
임무에서 사용됨을 선언할 수 있습니다.
파이프 정의 투입 및 실행
$ fly -t home sp -p 02_pipeline_sample_input -c 02/02_pipeline_repository_input.yaml -l credentials.yaml

파이프를 실행하면 달라질 수 있다.
작업을 수행하는 컨테이너 이미지 내부
리소스task-sample에 대한 정보를 포함합니다.

이렇게 하면 용기 내부에서git창고의 정보를 조작할 수 있다.
이것은 창고에 포함된 원본 코드에서 바이너리를 구축할 수 있다.
총결산
여기에 작업에 포함된 작업 내부에git 창고 정보를
참고 수단을 제공하다.
구체적으로 말하면
  • 리소스 정의
  • 작업에서 자원 가져오기(get)
  • 작업 내 작업에 자원 입력 (input)
  • 상기 3가지 조건을 충족시키면 작업 내부에서git창고의 정보를 참조할 수 있습니다.
    이번에도
    Fufuhu/concourse_sampleresource-repository 디렉토리 아래
    샘플이 저장된yaml 파일입니다.

    좋은 웹페이지 즐겨찾기