Как стать автором
Обновить

Комментарии 1

K3s + Gitlab мне нравится больше, т.к. облачный Gitlab содержит в себе кучу всего вроде container registry, pip registry, git repository, variables storage & etc и в 99% его можно использовать бесплатно, он yaml based.

Для новичков:

1) Установить K3s:

curl -sfL https://get.k3s.io | sh -

sleep 30

k3s kubectl get nodes

mkdir $HOME/.kube

sudo cp /etc/rancher/k3s/k3s.yaml $HOME/.kube/config

sudo chown $USER:$USER $HOME/.kube/config

chmod 600 $HOME/.kube/config

2) Установить Helm

https://helm.sh/docs/intro/install/

3) Зарегистрироваться в Gitlab https://gitlab.com, создать Group и скопировать Registration token из (замените название группы на свою)

https://gitlab.com/groups/your_group_name/-/runners

4) Использовать helm для установки Gitlab runner в ваш K3s:

helm repo add gitlab https://charts.gitlab.io

helm repo update

helm fetch gitlab/gitlab-runner --version=0.42.0 --untar

cd gitlab-runner

Отредактируйте values.yaml:

Раскомментируйте gitlabUrl и используйте значение https://gitlab.com/

https://gitlab.com/gitlab-org/charts/gitlab-runner/-/blob/v0.42.0/values.yaml#L51

Раскомментируйте runnerRegistrationToken и вставьте значение токена скопированное в пункте 2)

https://gitlab.com/gitlab-org/charts/gitlab-runner/-/blob/v0.42.0/values.yaml#L57

Сохраните и установите Gitlab runner (обратите внимание на точку, она необходима :)

helm -n gitlab upgrade -i gitlab-runner . --values=values.yaml --create-namespace

5) Создайте Project (репозиторий) внутри ранее созданной Group.

6) Добавьте ваш код и файл .gitlab-ci.yml в котором настройте pipeline в соответствии с вашими требованиями.

https://docs.gitlab.com/ce/ci/examples/#cicd-templates

https://gitlab.com/gitlab-org/gitlab/-/tree/master/lib/gitlab/ci/templates

7) Закомитьте ваш код и если вы правильно написали .gitlab-ci.yml, то ваша сборка начнется в вашем gitlab-runner в вашем локальном K3s кластере, а в случае сборки докер образа, он будет загружен в приватный репозиторий контейнеров Gitlab.

P.S. Используя такой setup вы можете практиковаться в условиях максимально приближенным к боевым и никаких 127.0.0.1 :)

Удачи!

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории