일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 쉘 프로그래밍
- k8s
- nextjs 정적배포
- kubenetes slack
- kubenetes botkube
- github-actions
- Harbor
- kubernetes
- Docker
- ubuntu
- linux 셸 스크립트
- k8s botkube
- botkube
- github actions
- github
- nextjs html확장자
- markdown mermaid
- helm
- aws
- TLS
- terraform
- 리눅스
- k8s slack
- linux 셸 프로그래밍
- markdown
- Mermaid
- cloudfront s3
- k8s chatops
- Diagrams
- SSH
- Today
- Total
민한의 블로그
Helm에서는 무작위 숫자를 value로 넣을경우 에러가 발생할수 있다. 본문
https://github.com/helm/helm/issues/1707
github actions에서 이미지 태그를 GITHUB_SHA 로 만든후
Helm value로 사용하려고 할때, 1465490을 태그로 넣었을 경우, 146549_e+06 이런 이상한수로 변경이 된다.
얘네는 왜 이걸 방치하고 있는것인지 모르겠는데.
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
이렇게 되어있는 이미지를
image: "{{ .Values.image.repository }}:{{ int .Values.image.tag }}"
앞에 int를 넣어주면 해결된다.
------------------------------------------------------------
상단의 해결 방법은 10진수의 랜덤한 값만 해결 가능한 방법이다.
Value 에서는 난수로 되어있는 태그 앞에 ":" 라는 임의의 값을 넣어주고 < 실제 태그 값은 76333c30
tag: :76333c30
Value를 사용할때는 replace ":" "" 로 : 값을 없에줘서 사용한다.
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | replace ":" "" }}"
아마 숫자 타입을 String타입으로 변환시켜서 사용하는듯 하다.
이것으로 무작위한 난수값을 넣어 태그를 사용하는 방법에서 helm 사용시 문제가 생기는 부분을 해결하였다.
------------------------------------------------------------
이것도 잘 안되었다.
그래서
- name: Add SHORT_SHA env property with commit short sha
run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV
- name: Set helm chart docker image tag
working-directory: helm-chart-repo
run: |
sed -i "s|tag: .*|tag: :${{ env.SHORT_SHA }}|" ./dev-values.yaml
GITHUB_SHA 환경변수는 github actions에서 제공하는 기본 환경변수이다.
ffac537e6cbbf934b08745a378932722df287a53 이런식으로 나오는 변수를
8글자로 잘라서 다른 환경변수명으로 만든후, helm의 value 파일을 직접 변경시켰다.
현재는 이게 제일 좋은 방법인듯하다.