공부/Open Source
[GitLab] helm registry로 사용하기
haejang
2024. 8. 4. 20:07
728x90
728x90
https://docs.gitlab.com/ee/user/packages/helm_repository/
# 환경변수 설정 - 자신에 맞게
GITLAB_USERNAME='' # 개인 유저이름
GITLAB_PASSWORD='' # 개인 토큰 사용
GITLAB_DOMAIN='' # 개인 깃랩 도메인 입력
GITLAB_PROJECT_ID=2 # helm registry로 이용할 프로젝트의 id 입력
GITLAB_HELM_CHANNEL=stable
GITLAB_HELM_REPO_NAME=my-gitlab # 로컬에서 자유롭게 선언
GITLAB_HELM_URL=https://$GITLAB_DOMAIN/api/v4/projects/$GITLAB_PROJECT_ID/packages/helm/api/$GITLAB_HELM_CHANNEL
# 1. helm tgz file pull (tempo-distributed 차트로 예시 사용)
$ helm pull tempo-distributed --version 1.7.2
--> 로컬에 tempo-distributed-1.7.2.tgz 파일 생성됨
# 2. helm chart upload
## 2-1) curl 사용
$ curl --fail-with-body --request POST \
$GITLAB_HELM_URL/charts \
--user "$GITLAB_USERNAME":"$GITLAB_PASSWORD" \
--form 'chart=@tempo-distributed-1.7.2.tgz' # 로컬에 있는 파일명으로 변경
--> {"message":"201 Created"}%
## 2-2) helm-cm 사용
### helm-cm 플러그인 설치
$ helm plugin install https://github.com/chartmuseum/helm-push
Downloading and installing helm-push v0.10.4 ...
https://github.com/chartmuseum/helm-push/releases/download/v0.10.4/helm-push_0.10.4_darwin_arm64.tar.gz
Installed plugin: cm-push
### helm repo add
$ helm repo add --username $GITLAB_USERNAME --password $GITLAB_PASSWORD $GITLAB_HELM_REPO_NAME $GITLAB_HELM_URL
# 3. pull test
$ helm pull $GITLAB_HELM_REPO_NAME/tempo-distributed
끝
728x90
728x90