GitLab CI를 사용하여 GKE에 Quarkus 애플리케이션 배포
Quarkus 설명 및 구성이 포함된 전체 게시물(프랑스어 🇫🇷)을 찾을 수 있습니다.
🚀 쿼커스
Quarkus를 모른다면 워크숍 이전 게시물입니다(프랑스어 🇫🇷) .
이 예제에서는 이 REST 리소스http://localhost:8080/hello에서 200 HTTP 코드를 반환할 수 있는 kubernetes 확장을 사용하여 간단한 Quarkus 애플리케이션을 만듭니다.
2개의 파일을 변경했습니다.
🐬 구글 쿠버네티스 엔진
이 부분에서는 GKE 계정을 만드는 단계를 생략하겠습니다.
kubernetes 클러스터를 만들려면 두 가지 옵션이 있습니다.
이 예시에서는 두 번째 옵션을 선택하고 GitLabCI의 kubernetes 통합을 최대한 활용하여 GKE 클러스터를 생성하겠습니다. 시작하려면 수직 메뉴에서 "Kubernetes"링크로 이동하십시오.
GKE에서 클러스터 생성 선택:
원하는 클러스터의 이름을 입력하십시오.
그리고 그게 다야 ! 🤘
GKE GUI에서 클러스터를 사용할 수 있습니다.
🦊 깃랩
GitLabCI 파이프라인 설정은 .gitlab-ci.yml 파일을 생성하여 수행됩니다. 설명이 필요한 경우 이 기사에서 더 많은 정보를 찾을 수 있습니다. 새로운 "홍보"😎 -to .
프로젝트의 루트에 .gitlab-ci.yml 파일을 생성합니다. 이 파일에서 우리는 우리의 스크립트를 원할 것입니다:
.gitlab-ci.yml 파일이 있는 CI/CD
3가지 작업을 달성하기 위해 3단계를 생성합니다.
stages:
- test
- build_and_push
- deploy_gke
첫 번째 작업의 경우 maven 3.6.3 이미지에서 mvn clean verify를 만들기만 하면 됩니다.
🩺 execute test :
stage: test
image: maven:3.6.3
script:
- mvn clean verify -f deployquarkusongkewithgitlab/pom.xml
artifacts:
paths:
- deployquarkusongkewithgitlab/target/kubernetes
작업 실행 후 사용 가능한 파일 수를 제한하고 다른 작업에서 이러한 파일을 사용할 수 있도록 하기 위해 target/kubernetes 디렉터리에 아티팩트를 설정합니다.
빌드 및 푸시 부분의 경우 Kaniko 라이브러리를 사용하면 작업이 더 쉬워집니다.
🐳 build push image docker:
stage: build_and_push
image:
name: gcr.io/kaniko-project/executor:debug-v0.19.0
entrypoint: [""]
script:
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
- /kaniko/executor --context $CI_PROJECT_DIR/deployquarkusongkewithgitlab --dockerfile $CI_PROJECT_DIR/deployquarkusongkewithgitlab/src/main/docker/Dockerfile.jvm --destination deployquarkusgkewithgitlab:dev
목적지인 Dockerfile의 경로를 입력하기만 하면 Kaniko가 우리를 위해 이미지를 빌드하고 원하는 리포지토리로 푸시합니다. 저는 GitLab registry 을 사용할 것입니다. Quarkus 설정 quarkus.container-image 😎를 사용하는 이유를 더 잘 이해할 수 있습니다.
마지막 단계에서는 Quarkus에서 생성한 kubernetes.yaml 파일을 적용할 수 있는 Google에서 이미지cloud-sdk를 가져옵니다.
🐋 deploy on gke:
stage: deploy_gke
image: google/cloud-sdk
script:
- kubectl apply -f deployquarkusongkewithgitlab/target/kubernetes/kubernetes.yml
environment: gke
환경 키워드는 중요하며 적절한 통합에 필요합니다. 이렇게 하면 환경 메뉴에서 환경을 볼 수도 있습니다.
파이프라인에서 배포가 완료되었음을 확인할 수 있습니다.
kubernetes 인프라가 GKE 아래에 있고 표시됩니다.
우리 포드를 사용할 수 있습니다.
감독
보너스로 GKE 인프라를 모니터링하기 위해 GitLab에서 일부 측정항목을 직접 사용할 수 있습니다.
이 글에 대한 의견이 있으시면 저에게 보내주세요😃
Reference
이 문제에 관하여(GitLab CI를 사용하여 GKE에 Quarkus 애플리케이션 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jphi_baconnais/deploy-an-quarkus-application-on-gke-with-gitlabci-lgp텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)