Files
service-catalog/charts/gitea/BUILD-README.md
T

160 lines
4.1 KiB
Markdown

# Gitea 버전 갱신 가이드
## 1. git 작업 환경 구성
- 서비스 카탈로그 git 다운로드
```
$ git clone https://github.com/paasup/service-catalog.git
```
- 작업 브랜치로 체크아웃
```
$ git checkout -b update-gitea/6.0.3
```
## 2. 차트 업데이트
### 1) 차트 버전 변경
- README-build.md, custom-values.yaml을 제외한 파일 삭제
``` sh
# chart 디렉토리로 이동
cd ~/service-catalog/charts/gitea
# 파일 삭제 전 삭제할 파일 목록 확인
find . -mindepth 1 \( -name "CUSTOM-README.md" -o -name "BUILD-README.md" -o -name "custom-values.yaml" -o -name "argo-values.yaml" \) -prune -o -print
# 파일 삭제
find . -mindepth 1 \( -name "CUSTOM-README.md" -o -name "BUILD-README.md" -o -name "custom-values.yaml" -o -name "argo-values.yaml" \) -prune -o -exec rm -rf {} +
```
- bitnami/gitea 차트 다운로드
``` sh
# charts 디렉토리로 이동
cd ~/service-catalog/charts
# helm repo 추가
helm repo add gitea-charts https://dl.gitea.io/charts/
helm repo update
# helm 차트
helm pull gitea-charts/gitea --version="6.0.3"
# 차트 변경
tar xzvf gitea-*.tgz
# 필요 없는 파일 삭제
rm gitea-*.tgz
```
### 2) 차트 수정 사항 반영
- gitea 배포 시 sso 및 외부 db 사용을 기본으로 하기 위하여 차트의 파일을 수정하였다.
#### ./values.yaml
- 다음은 gitea에 SSO 설정을 사용할 때, 대상 keycloak이 사설인증서를 사용하면 X509 에러가 발생한다.
에러 해결을 위해서 인증서를 등록하기 위해 `lifecycleHooks`를 추가하였다.
- 그리고 기본으로 활성화되어 있는 `memcached.enable`과 `postgresql.enable`을 diable로 변경하였다.
``` yaml
...
clusterDomain: cluster.local
# line 22 아래 항목 추가
## @param lifecycleHooks LifecycleHook to set additional configuration at startup Evaluated as a template
##
lifecycleHooks: {}
...
memcached:
## line 413 true를 false로 변경
enabled: false
...
postgresql:
## line 416 true를 false로 변경
enabled: false
```
#### ./templates/_helpers.tpl
``` yaml
...
## line 334
{{/*
Renders a value that contains template.
Usage:
{{ include "common.tplvalues.render" ( dict "value" .Values.path.to.the.Value "context" $) }}
*/}}
{{- define "common.tplvalues.render" -}}
{{- if typeIs "string" .value }}
{{- tpl .value .context }}
{{- else }}
{{- tpl (.value | toYaml) .context }}
{{- end }}
{{- end -}}
```
#### ./templates/statefulset.yaml
``` yaml
...
containers:
- name: {{ .Chart.Name }}
image: "{{ include "gitea.image" . }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
# line 205 아래 내용 추가
{{- if .Values.lifecycleHooks }}
lifecycle: {{- include "common.tplvalues.render" (dict "value" .Values.lifecycleHooks "context" $) | nindent 12 }}
{{- end }}
```
## 3. git push 및 tag 추가
- 갱신작업 진행후 commit
```
$ git add .
$ git commit -m "update gitea/6.0.3"
```
- main 브랜치에 체크아웃 후 merge
```
$ git checkout main
$ git merge update-gitea/6.0.3
```
- git에 push 후 작업 브랜치 삭제
```
$ git push -u origin main
$ git branch -d update-gitea/6.0.3
```
- git tag 추가 후 push
```
$ git tag gitea/6.0.3
$ git push origin gitea/6.0.3
```
## 4. 차트 버전 정보
- gitea/6.0.3
- Keycloak SSO 연동 시 사설 인증서 사용을 위한 lifecycleHook을 추가하였다.
- 서비스 배포를 위하여 custom-values.yam에 정의하였다.
- 차트의 빌드 방법과 배포 방법을 BUILD-README.md, CUSTOM-README.md 문서에 작성하였다.
- gitea/6.0.3-1
- 테넌트 배포를 위한 argo-values.yaml을 정의하였다.
- oauth 설정 시 사설 인증서를 사용하는 keycloak을 위해 추가한 인증서의 마운트 경로를 수정하였다.
- 변경 사항을 BUILD-README.md, CUSTOM-README.md 문서에 반영하였다.
- gitea/6.0.3-2
- ingress controller를 nginx에서 kong으로 변경하여 관련 설정을 변경하여 custom-values.yaml을 수정하였다.