Oleksii Shcherbyna
Предложите Oleksii работу над вашим следующим проектом или зарегистрируйте профиль фрилансера и начинайте зарабатывать прямо сейчас.
Рейтинг
Уровень владения языками
Портфолио
-
Развертывание приложения Spring PetClinic с использованием Vagrant
DevOpsСоздайте репозиторий на Gitlab и зафиксируйте все изменения в вашем репозитории gitlab
Создайте скрипт развертывания для приложения PetClinic. Используйте Vagrant для автоматизации процесса создания инфраструктуры для развертывания с помощью Virtualbox (предпочтительно). Для настройки вы можете выбрать использование bash, python или ansible в любом сочетании.
Подзадача I - Инфраструктура
… Опишите две виртуальные машины, используя Vagrantfile для развертывания приложения (кодовое имя APP_VM) и базы данных (кодовое имя DB_VM)
Предпочтительно использовать функцию частной сети для удобной связи между ВМ
ВМ должны быть либо Centos, либо Ubuntu
Если не используется частная сеть, то APP_VM должен иметь перенаправленный порт 8080 на хост
Подзадача II - База данных
Используйте любой скрипт настройки, который вы создали, для установки MySQL и любых зависимостей на DB_VM
Настройте базу данных mysql для принятия соединений только из вашей подсети частной сети vagrant
Создайте пользователя без прав root и пароль (кодовое имя DB_USER и DB_PASS) в mysql. Используйте переменные окружения хоста для установки этих значений и передайте их в Vagrantfile с помощью ENV
Создайте базу данных в mysql (кодовое имя DB_NAME) и предоставьте все привилегии для DB_USER для доступа к базе данных
Подзадача III - Приложение
Создайте пользователя без прав root (кодовое имя APP_USER), который будет использоваться для запуска приложения на APP_VM
Используйте любой провизионер для установки Java JDK, git и любых зависимостей на APP_VM
Клонируйте этот репозиторий в рабочую папку (кодовое имя PROJECT_DIR)
Используйте инструмент Maven для запуска тестов и упаковки приложения. Для получения дополнительной информации вы можете использовать эту 5-минутную документацию по maven. Для удобства в папке проекта есть скрипт обертки Maven (mvnw), который автоматически загружает и выполняет необходимый бинарный файл Maven.
Если тестирование и упаковка прошли успешно, получите пакет *.jar из папки $PROJECT_DIR/target и поместите его в домашнюю папку APP_USER (кодовое имя APP_DIR).
Установите переменные окружения в APP_VM (предпочтительно использовать те же переменные окружения, переданные с хост-машины с помощью ENV, как в DB_VM):
DB_HOST - IP адрес DB_VM
DB_PORT - порт MySql (по умолчанию 3306)
DB_NAME - имя базы данных MySql
DB_USER - пользователь MySql
DB_PASS - пароль пользователя MySql
Запустите приложение с APP_USER, используя команду java -jar
Если все прошло успешно - вы увидите приложение PetClinic на $APP_VM_IP:8080
-
Развернуть проект github и docker в dockerhub (реестр)
DevOpsСоздайте репозиторий на GitHub с приложением Node.js из forStep2.
Создайте аккаунт в Docker Hub (бесплатно): Docker Hub
С помощью Vagrant создайте две виртуальные машины: одну для сервера Jenkins и вторую для рабочего узла Jenkins.
Вручную или в файле Vagrant добавьте установку Docker и Docker Compose на первой виртуальной машине.
… Вручную или с использованием файла Vagrant добавьте установку Docker и рабочего узла Jenkins непосредственно на второй виртуальной машине (без Docker).
Подключите рабочего узла Jenkins к главному узлу. Проверьте, что вы можете запустить тестовый конвейер на рабочем узле Jenkins.
Добавьте учетные данные с вашим именем пользователя и паролем Docker Hub в учетные данные Jenkins.
Создайте тестовый конвейер с использованием языка Groovy, который будет запускаться при отправке в репозиторий из задания 1. Конвейер должен:
Получить код.
Собрать образ Docker на рабочем узле Jenkins.
Запустить образ Docker с тестами.
Если тесты успешны, войдите в свой аккаунт Docker Hub, используя учетные данные Jenkins из шага 7, и отправьте собранный образ в Docker Hub.
Если тесты не прошли, выведите сообщение "Тесты не пройдены".
Активность
Последние ставки 4 | Бюджет | Добавлена | Сроки | Ставка | |
---|---|---|---|---|---|
Настройка и оптимизация серверной инфраструктуры
8000 UAH
|
|||||
Задание: выявить источник нагрузки хостинга WordPress
2000 UAH
|
|||||
Администрирование серверов
6000 UAH
|
|||||
Системный администратор (можно студент)
1000 UAH
|