Wichtig
Detail
Wichtig
Detail
Detail
#24788
Fehlendes Deployment von top-logic.js und CSS für Production-Mode
Aktuell gibt es 2 Einstellungen is-deployed in tl:JSFileCompiler und is-deployed in tl:ThemeFactory. Mit diesen Flags wird gesteuert, ob Dateien beim Serverstart generiert werden.
Mit der Einstellung is-deployed="true" müssen die entsprechenden Dateien während des Deployments generiert werden. Hierfür gibt es aber aktuell kein Tooling.
Verbesserung
Beim App-Deployment werden Styles und Scripts immer generiert und mit in das WAR eingepackt. Es gibt ein neues Konfigurationsfragment production-mode.xml, dass in die metaConf.txt eingebunden den is-deployed-Modus einschaltet. Eine neu angelegte Applikation hat standardmäßig einen Deploy-Aspect prod, mit dem die Konfiguration production-mode.xml eingebunden wird.
Eine Applikation mit Settings wie lokal, aber im Production-Mode wird wie folgt gebaut:
mvn clean install -DdeployAspects=local,prod -Pwith-h2
Code-Migration
In einer bestehenden Applikation muss der Deploy-Aspect prod manuell erstellt werden (wenn gewünscht):
cp -ar deploy/local deploy/prod echo "production-mode.xml" > deploy/prod/WEB-INF/conf/metaConf.txt
Test
- Neue Anwendung erstellen.
- Mit den Deploy-Aspekten "local" und "prod" bauen.
- In Web-Container deployen.
- Login möglich, ThemeFactory und JSFileCompiler laufen im Modus "deployed".
mvn -P tl archetype:generate -DarchetypeGroupId=com.top-logic -DarchetypeArtifactId=tl-archetype-app -DarchetypeVersion=7.5.0-SNAPSHOT cd my-app/ mvn clean install -DdeployAspects=local,prod -Pwith-h2 sudo cp target/my-app-1.0-SNAPSHOT-app.war /var/lib/tomcat9/webapps/