Kubernetes пример gitlab ci/cd pipeline

Thank you for reading this post, don't forget to subscribe!

есть про­ект в гитла­бе груп­па balance-online и проект
online-balance-api

cat Dockerfile

в этом докер­фай­ле исполь­зу­ет­ся multistage сборка

 

[root@prod-vsrv-kubemaster1 online-balance-api]# cat helm/test-online-balance-api/values.yaml

tag будет пере­за­пи­сы­вать­ся при push эта настрой­ка в gitlab-ci.yml

[root@prod-vsrv-kubemaster1 online-balance-api]# cat helm/test-online-balance-api/templates/ingress.yaml

[root@prod-vsrv-kubemaster1 online-balance-api]# cat helm/test-online-balance-api/templates/service.yaml

[root@prod-vsrv-kubemaster1 online-balance-api]# cat helm/test-online-balance-api/templates/deployment.yaml

imagePullSecrets c помо­щью это­го пара­мет­ра про­ис­хо­дит выка­чи­ва­ние обра­за с gitlab-registry под логи­ном и паро­лем ука­зан­ным в сек­ре­те docker-login-{{ .Values.namespace }}

[root@prod-vsrv-kubemaster1 online-balance-api]# cat helm/test-online-balance-api/templates/_helpers.tpl

[root@prod-vsrv-kubemaster1 online-balance-api]# cat helm/test-online-balance-api/Chart.yaml

 

[root@prod-vsrv-kubemaster1 online-balance-api]# cat .gitlab-ci.yml

не забы­ва­ем создать пере­мен­ную kubeconfig  создан­ную из токе­на куб конфига:

[root@prod-vsrv-kubemaster1 online-balance-api]# cat ~/.kube/config | openssl base64 | tr -d '\n'

полу­чен­ный текст в base64 заки­ды­ва­ем в пере­мен­ную kubeconfig   про­ек­та гитлаба.

ну и пушим в про­ект даль­ше в сле­ду­ю­щем виде:

git add .
git commit -m "test 1"
git tag -a v1 -m "test"
git push origin --tags
git push