https://github.com/yandex-cloud-examples/yc-courses-ru-devsecops
Материалы для курса «DevSecOps в облачном CI/CD».
https://github.com/yandex-cloud-examples/yc-courses-ru-devsecops
cicd course devsecops yandex-cloud yandex-practicum yandex-praktikum yandexcloud
Last synced: 5 months ago
JSON representation
Материалы для курса «DevSecOps в облачном CI/CD».
- Host: GitHub
- URL: https://github.com/yandex-cloud-examples/yc-courses-ru-devsecops
- Owner: yandex-cloud-examples
- License: apache-2.0
- Created: 2024-03-13T19:38:30.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-12-18T12:55:57.000Z (6 months ago)
- Last Synced: 2025-12-21T18:39:50.267Z (6 months ago)
- Topics: cicd, course, devsecops, yandex-cloud, yandex-practicum, yandex-praktikum, yandexcloud
- Language: HTML
- Homepage: https://practicum.yandex.ru/profile/ycloud-devsecops/subscribe
- Size: 23.4 KB
- Stars: 3
- Watchers: 9
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Материалы для курса «DevSecOps в облачном CI/CD»
https://practicum.yandex.ru/profile/ycloud-devsecops/subscribe
* [Как собрать контейнер?](#build)
* [Как запустить на своей машине?](#runlocal)
* [Как редактировать код?](#edit)
* [Как запустить в кластере?](#runcluster)
Собираю контейнер
```
docker build . -t maniaque/finenomore:1.0
```
И кладу его в Docker Hub
```
docker push maniaque/finenomore:1.0
```
## Как запустить на своей машине?
```
docker-compose up
```
Поскольку код у нас копируется в контейнер на этапе сборки, то редактировать код онлайн просто так не получится.
Чтобы сделать возможным простое редактирование, нам нужно переименовать файл `docker-compose.override.yml-` (да, именно так, с минусом) в файл `docker-compose.override.yml` (без минуса).
После этого можно выполнять команду docker-compose up, и директория app будет прокидываться внутрь контейнера, оставаясь отлично редактируемой в файловой системе.
Перед запуском нужно выполнить ряд проверочных шагов:
1. Контейнер с приложением должен быть собран и размещен где-то, откуда его сможет забрать кластер. В большинстве случаев это Docker Hub.
2. Нужно убедиться, что у сервисного аккаунта кластера есть роль load-balancer.admin -- эта роль не добавляется, если сервисный аккаунт для кластера создается автоматически
3. Еще перед установкой нужно определиться с тем, каким образом мы будем доставлять трафик к приложению. В этом примере мы возьмем Ingress-контроллер NGINX, его установка описана в [документации](https://cloud.yandex.ru/docs/managed-kubernetes/tutorials/ingress-cert-manager)
Дальше после получения необходимого файла конфигурации для доступа к кластеру, выполняем следующие команды для установки Ingress-контроллера NGINX:
```
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
helm install ingress-nginx ingress-nginx/ingress-nginx
```
Для установки приложения в кластер можно использовать Helm Chart, который находится в директории `k8s/finenomore`
Переходим в эту директорию
```
cd k8s/finenomore
```
Устанавливаем чарт
```
helm install finenomore .
```