Entwicklung
Dieser Artikel beschreibt verschiedene Elemente, die für die Entwicklung benötigt werden. Die Baseline-Anwendung besteht sowohl aus einem Backend- als auch aus einem Frontend-Teil und benötigt weitere Dienste, wie Nexus.
Vorbereitung - Zugang zu externen Diensten
Das Backend ist auf andere Dienste - wie Nexus - angewiesen, die gestartet und konfiguriert werden müssen.
Diese Dienste können mit gestartet werden:
docker-compose up -d
Nexus ist nun unter localhost und dem in der docker-compose-Datei angegebenen Port erreichbar, z.B. unter http://localhost:8081/.
Das Passwort für einen ersten Nexus admin
Login wird in einer Datei innerhalb des Docker Containers gespeichert und kann mit folgendem Befehl ausgelesen werden:
docker exec -it baseline_nexus_1 cat /nexus-data/admin.password
In Nexus muss ein Raw Repository mit einer Datei erstellt werden, die die project-list enthält.
Die baseline.yaml sollte die Konfiguration des Repositorys und die Admin-Anmeldedaten enthalten.
Verschiedene Optionen für die Entwicklung
Es gibt mehrere Optionen für die Entwicklung des Baseline-Dogus, wie im Folgenden beschrieben.
Getrenntes Backend und Frontend
Um bei der Entwicklung flexibler zu sein, kann das Frontend unabhängig vom Backend ausgeliefert werden.
Backend
Führen Sie einen der folgenden Befehle im Hauptverzeichnis dieses Repositorys aus, um das Backend (die API) zu starten
Backend-Server (stellt API bereit):
go run .
oder alternativ mit gesetzter Version:
go run -ldflags="-X 'main.Version=1.0.0'" .
Frontend
Die Benutzeroberfläche befindet sich im Unterverzeichnis 'ui'.
Führen Sie die folgenden Befehle aus dem Hauptverzeichnis dieses Repositorys aus, um das Frontend (die Benutzeroberfläche) zu starten:
cd ui
yarn install
yarn run start
Die URL für den Zugriff auf das Frontend wird nach dem Start im Terminal angezeigt.
Produktionsnah - Frontend wird aus dem Backend ausgeliefert
Für ein produktionsnahes Setup sollte das Frontend gebaut/gepackt werden und dann vom Backend ausgeliefert werden:
Führen Sie die folgenden Befehle aus dem Wurzelverzeichnis des Repositorys aus, um das Frontend zu bauen/packen:
cd ui
yarn install
yarn build
Danach liefert das Backend das Frontend aus. Führen Sie dazu den folgenden Befehl im Stammverzeichnis dieses Repositorys aus:
go run .
Das Frontend kann nun mit http://localhost:8080 aufgerufen werden.
Mocking API - nur UI ohne Backend
Alternativ kann die API auch gemockt werden, so dass das Backend nicht gestartet werden muss. Die Daten werden aus einer json-Datei gelesen.
Führen Sie die folgenden Befehle aus dem Hauptverzeichnis dieses Repositorys aus, um API-Mock (backend-mock) zu starten:
cd ui/api-mock
npm install -g json-server
json-server --watch db.json --p 8080 --routes routes.json
Die db.json enthält die API-Daten und kann bei Bedarf erweitert werden.
Um das Frontend zu starten, siehe Abschnitt Frontend