민한의 블로그

Helm에서는 무작위 숫자를 value로 넣을경우 에러가 발생할수 있다. 본문

인프라/Helm

Helm에서는 무작위 숫자를 value로 넣을경우 에러가 발생할수 있다.

minhan2 2022. 5. 9. 05:26
728x90
반응형

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 파일을 직접 변경시켰다.
현재는 이게 제일 좋은 방법인듯하다.

728x90
반응형
Comments