[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 добавить информацию как запускать.


Посмотреть проекты участников

Здесь.

Все самое лучшее из наработок (если такие конечно будут), потом включу в этот проект.