Newer
Older
Informationen zur lokalen Installation sind unter [dokumentation/Entwicklungsumgebung/README.md](https://git.ozg-sh.de/ozgcloud-doc/dokumentation/src/branch/master/Entwicklungsumgebung/README.md#angular-frontend) abgelegt.
Befehle und Tipps zum Umgang mit der Codebasis und zur Testerstellung liegen in [dokumentation/Entwicklung/Angular.md](https://git.ozg-sh.de/ozgcloud-doc/dokumentation/src/branch/master/Entwicklung/Angular.md).
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.
- 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.
- 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 .
```