작성
·
127
·
수정됨
1
가이드주신 대로 GitLab 세팅 후 nestjs-boilerplate development 브랜치로 commit & push했으나
위 사진과 같이 test 스테이지까지만 진행되고 development를 포함한 이후 스테이지들이 진행되지 않습니다...
놓친 부분이 무엇일까요??
답변 2
0
안녕하세요 정말 반갑습니다!
start stage가 실행된걸로 보아 custom auto devops에 연결은 잘 된 것으로 보여집니다!
1. custom auto devops에서 deployment job 쪽 수정하신 게 있을까요?
여기에 제가 development branch 인 경우만 활성화되도록 설정해둔 상태여서 입니다!
배포하시는 프로젝트의 gitlab-ci.yml 파일을 볼 수 있을까요? 제공해드린 테스트 프로젝트에 workflow 보시면 eks 클러스터는 하나여서 ns만 수정해서 배포되도록 설정을 한 상태인데요 이 부분도 올바른 지 확인이 필요할 것 같습니다!
# development
- if: $CI_COMMIT_REF_NAME == "development"
variables :
KUBE_INGRESS_BASE_DOMAIN: <your-domain>
HELM_UPGRADE_VALUES_FILE: .gitlab/auto-deploy-values-dev.yaml
KUBE_NAMESPACE: $CI_PROJECT_NAME-development
https://gitlab.com/meiko125231/nestjs-boilerplate/-/blob/main/.gitlab-ci.yml?ref_type=heads#L21
[gitlab-base-ci] 레포의 /Jobs/Deploy.gitlab-ci.yml
말씀하신 부분에서 $CI_KUBERNETES_ACTIVE
와 $KUBECONFIG
가 빈값으로 수정을 하셨다는 것일까요? 건드리지 않으셨으면 development branch 에 commit / push 시 배포 stage가 추가될 것 입니다
[gitlab-kubernetes-agents] 레포
이 부분은 provision 하신 eks 클러스터에 gitlab-agent 관련 ns에 파드가 아래와 같이있으면 문제 없는 상태로 보셔도 됩니다. 어짜피 helm으로 gitlab-agnet 설치하는 거라서요
eks-main-gitlab-agent-v2-7dbf4466d4-5wssh 1/1 Running 0 17h
eks-main-gitlab-agent-v2-7dbf4466d4-s8jsj 1/1 Running 0 17d
혹시 배포하시고자 하는 프로젝트 루트 디렉토리에 있는 .gitlab-ci.yml
파일을 볼 수 있을까요?
확인하고자 하는 이유는 아래 제 예시 파일을 보시면
KUBE_CONTEXT
가 수강생분의 gitlab agent로 설정이 되어있는 지
workflow에서 제대로 rule 설정이 되어있는 지 ( development 부분 )
HELM_UPGRADE_FILE
이 제대로 위치해있는지
하단에 있는 custom auto devops 연결이 제대로 되어있는 지
variables:
KUBE_CONTEXT: "meiko2/cloud/gitlab-kubernetes-agents:eks-main"
build:
stage: build
rules:
- if: $CI_COMMIT_REF_NAME != "master"
variables:
AUTO_DEVOPS_BUILD_IMAGE_EXTRA_ARGS: ""
# cluster agent
workflow:
rules:
# production
- if: $CI_COMMIT_REF_NAME == "main"
variables :
KUBE_INGRESS_BASE_DOMAIN: meiko.co.kr
HELM_UPGRADE_VALUES_FILE: .gitlab/auto-deploy-values.yaml
KUBE_NAMESPACE: $CI_PROJECT_NAME
# development
- if: $CI_COMMIT_REF_NAME == "development"
variables :
KUBE_INGRESS_BASE_DOMAIN: meiko.co.kr
HELM_UPGRADE_VALUES_FILE: .gitlab/auto-deploy-values-dev.yaml
KUBE_NAMESPACE: $CI_PROJECT_NAME-development
- if: $CI_COMMIT_REF_NAME != "main" && $CI_COMMIT_REF_NAME != "development"
when: never
# Custom Auto Devops Enabled
include:
- project: 'meiko2/cloud/gitlab-base-ci'
ref: main
file: '.gitlab/Custom-Auto-DevOps.gitlab-ci.yml'
0
안녕하세요, 인프런 AI 인턴입니다.
원데이서버컴님, GitLab Pipeline 설정 후 일부 스테이지가 실행되지 않는 문제에 대해 질문 주셨군요. 우선, 이와 같은 상황에서는 몇 가지 가능성을 고려해 볼 수 있습니다:
GitLab CI/CD 설정 파일 확인: .gitlab-ci.yml
파일을 확인하여 각 스테이지가 올바르게 정의되어 있는지, 그리고 각 스테이지 간의 dependencies
또는 needs
설정이 올바르게 되어 있는지 점검해 보세요. 특히 스테이지 이름이 정확하게 명시되어 있는지 확인하십시오.
조건부 실행 규칙: 특정 브랜치나 파일 변화에 따라 스테이지가 실행되도록 설정되어 있는 경우가 있습니다. 예를 들어, 특정 파일 변경 시에만 실행되도록 조건(only
, except
등)이 설정되어 있다면 해당 조건이 제대로 충족되는지 확인해야 합니다.
GitLab Runner 및 환경 상태: 사용 중인 GitLab Runner가 정상적으로 작동하고 있는지, 그리고 필요한 환경 변수가 설정되었는지 확인해 보세요. 일부 스테이지는 특정 환경 변수나 외부 의존성에 따라 실행되지 않을 수 있습니다.
로그 확인: 실패한 스테이지의 로그를 조회하여 구체적인 오류 메시지를 확인해 보세요. 로그에는 문제 해결에 필요한 힌트가 포함되어 있을 수 있습니다.
<원리 설명 추가>
GitLab CI/CD에서는 각 파이프라인의 단계(stages)가 서로 의존관계를 갖기 때문에, 초기 설정 단계에서의 작은 오류가 나머지 실행 순서에 직접적인 영향을 미칠 수 있습니다. 따라서 단계별로 설정을 세심히 검토해 보시는 것이 중요합니다.
도움이 될만한 관련 자료를 아래에 첨부합니다:
위의 해결책을 적용해 보신 후에도 문제가 지속된다면 강사님께 문의하여 추가적인 지도를 받으시기 바랍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
답변 감사합니다.
[gitlab-base-ci] 레포의 /Jobs/Deploy.gitlab-ci.yml을 수정해가며 시도해보니
https://gitlab.com/meiko125231/gitlab-base-ci/-/blob/main/.gitlab/Jobs/Deploy.gitlab-ci.yml?ref_type=heads#L133
$CI_KUBERNETES_ACTIVE
와$KUBECONFIG
가 빈값으로 세팅되어 있어해당 development 스테이지가 동작하지 않음을 확인했습니다.
두 변수의 값을 채우기 위해 필요한 추가 절차가 있을까요??
[gitlab-kubernetes-agents] 레포에서
Kubernetes Cluster는 정상적인 "Connected" 상태이고
EKS에서 gitlab-agent도 "Running" 상태입니다.
해당 레포 /.gitlab/agents/eks-main/config.yaml에 "meiko2" 값이 설정되어 있는데
혹시 이 부분은 구체적으로 어떻게 수정해야하는 걸까요?