Alfa Frontend
Informationen zur lokalen Installation sind unter dokumentation/Entwicklungsumgebung/README.md abgelegt.
Befehle und Tipps zum Umgang mit der Codebasis und zur Testerstellung liegen in dokumentation/Entwicklung/Angular.md.
Alfa Frontend starten
Um das Alfa Frontend zum Laufen zu bekommen, muss zunächst ein pnpm install
ausgeführt werden.
-> nach dem Ausführen sollte sich ein node_modules
Ordner im Verzeichnis befinden.
Im Anschluß wird das Alfa Frontend über pnpm start
gestartet.
Hinweise:
- Bei Fehler npm ERR! Unable to authenticate, need: BASIC realm="Sonatype Nexus Repository Manager":
- Prüfen, ob eine Datei .npmrc in alfa/alfa liegt, die den selben Inhalt hat wie die .npmrc, die in apps/alfa-e2e/Jenkinsfile angelegt wird.
- Alternative: Die Installation mit dem offiziellen NPM-Repository ausführen:
pnpm install --registry=https://registry.npmjs.org/
- Bei nicht nachvollziehbaren Problemen während der Installation kann es helfen, den
node_modules
Ordner und die pnpm-lock.yaml zu löschen und anschließend erneut zu installieren. - Prüfen, dass
pnpm install
die pnpm-lock.yaml nicht anpasst, wenn das nicht wirklich gewollt ist.
Jest und SonarQube
- Parameter testResultsProcessor, collectCoverage, coverageReporters führen zu Unknown option warnings während jeden Tests, wenn sie in der jeweiligen jest.config.ts definiert sind. Werden sie dagegen als CLI Parameter beim Start der Tests übergeben, wird keine Warnung produziert.
- Es können mehrere Tests parallel laufen mittel
nx run-many --target=test --parallel 8
. Tests sollten dann nicht zusätzlich mit Jest's maxWorkers Parameter parallelisiert werden.
Docker build
Base Image: Wird manuell von Entwicklern gebaut, nach Änderungen an package.json.
bin/nx-build-base.sh
Anwendungsimage - wird in der Regel vom Jenkins gebaut.
- APPNAME: Name der App im Verzeichnis apps/
- Versionierung steuert Jenkins
- build-arg CONFIGURATION steuert production build
docker buildx build --push --platform linux/amd64 --tag docker.ozg-sh.de/APPNAME:x.x.x --build-arg CONFIGURATION=production -f apps/APPNAME/Dockerfile .