Oleksii Shcherbyna
Ranking
Poziom znajomości języków obcych
Portfolio
-
Wdrażanie aplikacji Spring PetClinic za pomocą Vagrant
DevOpsUtwórz repozytorium na Gitlabie i zatwierdź wszystkie zmiany w swoim repozytorium gitlab
Utwórz skrypt wdrożeniowy dla aplikacji PetClinic. Użyj Vagranta, aby zautomatyzować proces tworzenia infrastruktury do wdrożenia z Virtualbox (najlepiej). Jeśli chodzi o provisioning, możesz wybrać użycie bash, python lub ansible w dowolnej kombinacji.
Podzadanie I - Infrastruktura
… Opisz dwie maszyny wirtualne za pomocą Vagrantfile do wdrożenia aplikacji (kodowa nazwa APP_VM) i bazy danych (kodowa nazwa DB_VM)
Najlepiej użyj funkcji prywatnej sieci dla łatwej komunikacji VM
VM powinny być albo Centos, albo Ubuntu
Jeśli nie używasz prywatnej sieci, to APP_VM powinien mieć port 8080 przekierowany na hosta
Podzadanie II - Baza danych
Użyj dowolnego skryptu provisioningowego, który stworzyłeś, aby zainstalować MySQL i wszelkie zależności na DB_VM
Dostosuj bazę danych mysql, aby akceptowała połączenia tylko z twojej prywatnej podsieci vagranta
Utwórz użytkownika nie-root i hasło (kodowa nazwa DB_USER i DB_PASS) w mysql. Użyj zmiennej środowiskowej hosta, aby ustawić te wartości i przekazać je do Vagrantfile za pomocą ENV
Utwórz bazę danych w mysql (kodowa nazwa DB_NAME) i przyznaj wszystkie uprawnienia dla DB_USER do dostępu do bazy danych
Podzadanie III - Aplikacja
Utwórz użytkownika nie-root (kodowa nazwa APP_USER), który będzie używany do uruchamiania aplikacji na APP_VM
Użyj dowolnego provisionera, aby zainstalować Java JDK, git i wszelkie zależności na APP_VM
Sklonuj to repozytorium do folderu roboczego (kodowa nazwa PROJECT_DIR)
Użyj narzędzia Maven, aby uruchomić testy i spakować aplikację. Aby uzyskać więcej informacji, możesz skorzystać z tej 5-minutowej dokumentacji maven. Dla wygody folder projektu ma skrypt wrappera Maven (mvnw), który automatycznie pobiera i wykonuje wymagany plik binarny Maven.
Jeśli testowanie i pakowanie zakończy się sukcesem, pobierz pakiet *.jar z folderu $PROJECT_DIR/target i umieść go w folderze domowym APP_USER (kodowa nazwa APP_DIR).
Ustaw zmienne środowiskowe w APP_VM (najlepiej użyj tych samych zmiennych środowiskowych przekazanych z maszyny hosta za pomocą ENV, co w DB_VM):
DB_HOST - IP DB_VM
DB_PORT - port MySql (domyślnie 3306)
DB_NAME - nazwa bazy danych MySql
DB_USER - użytkownik MySql
DB_PASS - hasło użytkownika MySql
Uruchom aplikację z APP_USER używając polecenia java -jar
Jeśli wszystko zakończy się sukcesem - zobaczysz aplikację PetClinic na $APP_VM_IP:8080
-
Wdróż projekt github i docker w dockerhub (rejestr)
DevOpsUtwórz repozytorium GitHub z aplikacją Node.js z forStep2.
Utwórz konto w Docker Hub (darmowe): Docker Hub
Używając Vagrant, utwórz dwie maszyny wirtualne: jedną dla serwera Jenkins i drugą dla pracownika Jenkins.
Ręcznie lub w pliku Vagrant dodaj instalację Docker i Docker Compose na pierwszej maszynie wirtualnej.
… Ręcznie lub używając pliku Vagrant, dodaj instalację Docker i pracownika Jenkins bezpośrednio na drugiej maszynie wirtualnej (bez Docker).
Połącz pracownika Jenkins z węzłem głównym. Sprawdź, czy możesz uruchomić testowy potok na pracowniku Jenkins.
Dodaj dane uwierzytelniające z nazwą użytkownika i hasłem do Docker Hub do danych uwierzytelniających Jenkins.
Utwórz testowy potok używając języka Groovy, który uruchomi się, gdy wypchniesz do repozytorium z zadania 1. Potok musi:
Pobrać kod.
Zbudować obraz Docker na pracowniku Jenkins.
Uruchomić obraz Docker z testami.
Jeśli testy zakończą się sukcesem, zaloguj się na swoje konto Docker Hub używając danych uwierzytelniających Jenkins z kroku 7 i wypchnij zbudowany obraz do Docker Hub.
Jeśli testy zakończą się niepowodzeniem, wydrukuj wiadomość "Testy nie powiodły się".
Aktywność
| Ostatnie oferty 4 | Budżet | Dodana | Terminy | Oferta | |
|---|---|---|---|---|---|
|
Konfiguracja i optymalizacja infrastruktury serwerowej
656 PLN
|
|||||
|
Zadanie: zidentyfikować źródło obciążenia hostingu WordPress
164 PLN
|
|||||
|
Administracja serwerami
492 PLN
|
|||||
|
Administrator systemów (może być student)
82 PLN
|