# DevOps

# CiCd

1. Поднять хранилище кода (gitlab, gitea, bitbucket, etc) и систему сборки (Drone, gitlab-ci, Jenkins)
2. Соединить их
3. Найти какое-нибудь приложение, например ХХХ и настроить его сборку
4. Настроить сборку и развертывания в разные окружения:

- prod: заливать при создании тега из мастер ветки
- Stage: заливать из мастер ветки без создания тега, при пуше коммита
- Dev: заливать при ручном запуске не по мастер ветке

Разворачивать в kubernetes, либо в docker. Отправлять куда-нибудь уведомление при развертывании (телега, дискорд, почта, куда угодно). Если это кубер, сделай helm чарт.

# K8s

[https://roadmap.sh/kubernetes](https://roadmap.sh/kubernetes)

- Поднять кластер на каком-нибудь rke2 (hard: поднять руками через kubeadm)
- Поднять под
- Поднять деплоймент
- Потыкать helm
- Разделить доступы - RBAC
- Что такое контекст?
- Разграничить доступы к неймспейсам
- Custom resource definition (CRD)
- Подними Load Balancer (MetalLB например)