OpenShift Origin v3.9에서 GitLab에서 빌드

처음에



OpenShift Origin v3.9 환경 구축 및 애플리케이션 배포 (후편)
계속됩니다.
GitHub에서 빌드에서 배포까지의 방법을 소개했지만, 이번에는 인증된 GitLab의 소스에서 빌드하는 방법을 씁니다.
차이는 빌드의 정의뿐이므로 그 부분만 씁니다.

빌드 정의 및 실행



[master-01]
우선, 인증을 위한 secret를 작성한다.
, 는 각각 GitLab 사용자 이름과 암호입니다.
예를 들어 telnetman이라는 이름으로 만듭니다.
oc create secret generic telnetman \
    --from-literal=username=<user> \
    --from-literal=password=<password> \
    --type=kubernetes.io/basic-auth

웹 콘솔에서 작성하는 경우 Resources → Secrets에서 작성하십시오.


그런 다음 빌드 구성 파일을 만듭니다.
예를 들어, telnetman2-web 컨테이너의 경우.

telnetman2-web-buildconfig.yaml
apiVersion: "v1"
kind: "BuildConfig"
metadata:
  name: "telnetman2-web"
spec:
  runPolicy: "Serial"
  source:
    type: "Git"
    git:
      uri: "https://gitlab.example.com/telnetman/telnetman2.git"
      ref: "master"
    sourceSecret:
      name: "telnetman"
    contextDir: "./"
  strategy:
    type: "Docker"
    dockerStrategy:
      dockerfilePath: "Dockerfile-web"
      env:
        - name: "DBSERVER"
          value: "telnetman2"
  output:
    to:
      kind: "ImageStreamTag"
      name: "telnetman2-web:latest"
  triggers:
    - type: "GitLab"
      gitlab:
        secret: "XXXYYYZZZ"

상기의 GitHub 때와 다른 점은 이하의 2점만.
  • 인증을 위해 spec.source.sourceSecret.name에 secret를 지정
  • triggers에서 GitHub, github이 된 부분을 각각 GitLab, gitlab로 변경

  • 그런 다음 정의 된 빌드 구성을 교체하여 빌드를 실행합니다.
    정의되지 않은 경우 oc create -f telnetman2-web-buildconfig.yaml명령줄이 아닌 웹 콘솔의 Import YAML/JSON에서도 가능합니다.
    oc replace -f telnetman2-web-buildconfig.yaml
    oc start-buil telnetman2-web
    

    상기의 GitHub 때와의 차이는 이것뿐.
    그리고 GitLab에서 Webhook을 설정하면 GitLab의 이벤트를 트리거하여 빌드, 배포가 자동으로 수행됩니다.

    참고



    Build Inputs
    Install input secret into OpenShift build configuration

    좋은 웹페이지 즐겨찾기