[DEVOPS Challenges] Challenge 1 - Развернуть React (JavaScript) приложение в облаке Digital Ocean
Задача:
Развернуть самое простое React (JavaScript) приложиение в облаке Digital Ocean. Приложение не работает с базой данных, поэтому его можно считать простым.
Шаг: 1 (Задание для devops, который хочет зарабатывать 30 000 руб.)
Приложение завернуть в docker контейнер и разместить в registry. Использовать какой-нибудь инструмент CI/CD. Jenkins, GitLab-CI, Github-Actions.
UPD.
Если кто сам не хочет разбираться, вот здесь работающий пример.
https://github.com/webmakaka/The-React-Practice-Course-Learn-by-Building-Projects/tree/master/project1
Можно сделать по аналогии.
Шаг: 2 (Задание для devops, который хочет зарабатывать 40 000 руб.)
Поднять kubernetes кластер.
Желательно с помощью Terraform.
Для этого поможет статья (если не будет открываться, используйте proxy сервисы):
https://ponderosa.io/blog/kubernetes/2019/03/13/terraform-cluster-create/
Необходимо в скриптах указать актуальную версия kubernetes. Сейчас это:
version = “1.16.6-do.0”
Шаг: 3 (Задание для devops, который хочет зарабатывать 50 000 руб.)
Развернуть приложение. Предоставить доспут к приложению по http.
Шаг: 4 (Необязательный) (Задание для devops, который хочет зарабатывать 60 000 руб.)
Добавить домен для обращения к приложению по имени
Шаг: 5 (Необязательный) (Задание для devops, который хочет зарабатывать 70 000 руб.)
Сделать доступ только по https. (Без использования всяких cloudflare и им подобным сервисам.)
Шаг: 6 (Необязательный) (Задание для devops, который хочет зарабатывать 80 000 руб.)
Автообновление приложения после каждого коммита. Или по расписанию.
Полезные материалы
[Webinar] Using Infrastructure as Code to Build Reproducible Systems with Terraform on DigitalOcean
https://github.com/Zelgius/Infrastructure-As-Code-Intro
Наверное лучше для начала посмотреть вот этот материал:
https://github.com/groovemonkey/digitalocean-terraform
[Webinar] A DigitalOcean Workshop: Get Started with Containers and Kubernetes
Кому интересно и хочет поучаствовать
Делайте форк проекта к себе.
Работаете со своей версией проекта. Использовать свой registry (например, hub.docker.com)
В проект добавить Dockerfile, а также скрипты terraform (У меня пока поверхностные знания о terraform) и другие скрипты, если требуются.
В Readme.md добавить информацию как запускать.
Посмотреть проекты участников
Все самое лучшее из наработок (если такие конечно будут), потом включу в этот проект.