We wszystkich dokumentach odnoszących się do środowiska developerskiego przyjmuje się, że wszystkie repozytoria Git są sklonowane do tego wspólnego folderu
UWAGA!
Wszystkie przykłady komend i plików konfiguracyjnych są podane dla Linuksa (dystrybucja Ubuntu). W przypadku innego systemu operacyjnego podane przykłady należy odpowiednio zmodyfikować.
Założono, że wszystkie repozytoria Git są sklonowane do tego wspólnego folderu<WORKSPACE>
, np. /home/developer1/workspace.
Java jest wymagana do kompilacji kodu. Przykładowy opis instalacji: https://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/install-java-jdk-17-on-ubuntu-22-04.html?utm_content=cmp-true
sudo apt update
sudo apt install -y openjdk-17-jdk
java -version
Strona domowa: https://openjdk.org/
sudo apt install git
git –version
Strona domowa: https://git-scm.com/
sudo apt install maven
mvn --version
Strona domowa: https://maven.apache.org/
Opcjonalnie - przydatny do inicjowania nowych serwisów wykorzystujących framework Quarkus
curl -Ls https://sh.jbang.dev | bash -s - trust add https://repo1.maven.org/maven2/io/quarkus/quarkus-cli/
curl -Ls https://sh.jbang.dev | bash -s - app install --fresh --force quarkus@quarkusio
Strona domowa: https://quarkus.io/get-started/
Instalację przeprowadzić zgodnie z: https://docs.docker.com/engine/install/ubuntu/
Czynności poinstalacyjne: https://docs.docker.com/engine/install/linux-postinstall/
Po poprawnym zainstalowaniu można sprawdzić czy wszystko działa uruchamiając kolejno testowy obraz hello-world, a następnie docker compose:
# uruchomienie hello-world
docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
# sprawdzenie jaka wersja Docker Compose
docker compose version
Docker Compose version v2.26.1
W tym dokumencie nazwa folder roboczy oznacza podfolder folderu domowego użytkownika. Do folderu roboczego będą sklonowane wszystkie wymagane repozytoria platformy Signomix. We wszystkich przykładowych komendach zawartych w tym dokumencie oznaczenie <WORKSPACE>
należy zamienić na wybraną nazwę.
# utworzenie przykładowego folderu roboczego w folderze domowym użytkownika
mkdir ~/workspace
Zmodyfikować zawartość pliku /etc/hosts
dodając poniższe linie:
# file /etc/hosts
127.0.0.1 localhost
127.0.0.1 app.localhost
127.0.0.1 www.localhost
127.0.0.1 view.localhost
127.0.0.1 cloud.localhost
127.0.0.1 documentation.localhost
127.0.0.1 telemetry.localhost
127.0.0.1 q1.localhost
Jeżeli wcześniej nie zostało to zrobione, należy sklonować wszystkie wymagane repozytoria do folderu roboczego <WORKSPACE>
. Ułatwia to skrypt init-dev-environment.sh w repozytorium signomix. Skrypt ten klonuje wymagane repozytoria oraz tworzy foldery, które muszą być montowane jako volumeny dla kontenerów dockerowych.
cd ~/<WORKSPACE>
git clone https://github.com/signomix/signomix
cd signomix
sh init-dev-environment.sh
Niektóre z parametrów konfiguracyjnych nie powinny być przechowywane w publicznie dostępnych repozytoriach. Dotyczy to na przykład loginów, haseł lub tokenów API. Signomix wykorzystuje dwa mechanizmy Docker Compose w celu rozwiązania tego problemu:
env_file
Docker Compose - https://docs.docker.com/compose/how-tos/environment-variables/set-environment-variables/#use-the-env_file-attributeSkrypt init-dev-environment.sh
kopiuje zestaw plików z ustawieniami do katalogu .secrets
w katalogu domowym użytkownika (patrz: init-runtime-environment.sh
).
Przed uruchomieniem Signomiksa należy przejrzeć zawartość plików w katalogu ~/.secrets
i wymienić ustawienia na własne.
cd ~/<WORKSPACE>/signomix
./build-images.sh
W przypadku, gdy nie ma lokalnych zmian w kodzie, można przed wywołaniem powyższego polecenia pobrać najnowsze wersje kodu z repozytoriów. Ułatwia to skrypt pull-repositories.sh
./pull-repositories.sh
cd ~/<WORKSPACE>/signomix
./runInDevEnvironment.sh up -d
Uruchomiona platforma jest dostępna pod adresami:
Predefiniowane konta:
Konto | Login | Hasło |
---|---|---|
Administrator | admin | test123 |
Użytkownik | tester1 | test123 |
cd ~/<WORKSPACE>/signomix
./runInDevEnvironment.sh down