Gå till slutet av bannern
Gå till början av bannern

SKLTP TAK - Allmänt om Grails

Hoppa till slutet på meta-data
Gå till början av metadata

Du visar en gammal version av den här sidan. Visa nuvarande version.

Jämför med nuvarande Visa sidhistorik

« Föregående Version 3 Nästa »

Miljö

För att Grails ska fungera behöver man sätta JAVA_HOME. Viktigt att den pekar på en JDK och inte en JRE. (T.ex. "export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64", inte "export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre". Startar man via Maven så verkar inte JAVA_HOME användas.

Grailsmiljöer och testmiljöer

Blanda inte ihop Grailsmiljöerna med våra miljöer!

T.ex. kan “prod” antingen syfta på Grails prod-miljö eller vår prod-miljö beroende på sammanhang.

Normalt så gäller:

  • grails run-app => "dev"

  • grails test-app => "test"

  • Starta byggd war-fil => "prod"

I alla våra dev/test/qa/prod så är alltså Grailsmiljö = prod.

Beroende på miljö så används olika konfigurationer. T.ex. så används normalt en in-memory H2-databas för dev- och testmiljöerna. Vill man köra "prod" lokalt för att få en mer realistisk konfiguration så får man starta med: "mvn grails:run-app -Dgrails.env=prod" (eller “grails prod run-app” om man inte startar via Maven) .

Konfigurationsfiler

Inblandade konfigurationsfiler är en mix av Grails-, SpringBoot- och Tomcat-konfiguration. Dessa plockas främst upp automatiskt av Grails utifrån namngivningskonventioner.

  • context.xml innehåller bl.a. databaskonfiguration. Det är en extern konfigurationsfil där innehållet skiljer sig åt i våra olika miljöer. På servern ligger denna i /www/ind/etc/tak/conf/context.xml. I repot finns motsvarande i tak/resources/tomcat-conf/context.xml. För att context.xml ska användas när man kör lokalt så måste den kopieras tillfälligt till tak/tak-web/web-app/META-INF/context.xml!

  • tak-web-config.properties är också en extern konfigurationsfil med miljöberoende konfiguration. ($TAK_HOME/tak-web-config.properties) (Miljöerna i denna syftar på våra miljöer, inte Grailsmiljöer.) Filen läses in i Bootstrap.groovy. Om man pekat ut en konfigurationsfil med TAK_HOME i sin lokala miljö så behöver man komma ihåg att ta bort variabeln innan man bygger TAK, annars plockas den upp när enhetstesterna körs och bygget går inte igenom.

  • tak-core-PROD.xml (tak/tak-core/src/main/resources/tak-core-PROD.xml) Innehåller bland annat diverse databaskonfigurering. Motsvarande filer finns för andra miljöer.

  • tak-core-config.xml Inkluderas av miljöberoende konfigfiler

  • Config.groovy (tak/tak-web/grails-app/conf/Config.groovy) Diverse konfig.

  • DataSource.groovy (tak/tak-web/grails-app/conf/DataSource.groovy) Diverse databaskonfig. En del är utkommenterat och verkar ha ersatts av motsvarande i context.xml.

  • BootStrap.groovy (tak/tak-web/grails-app/conf/BootStrap.groovy) Diverse konfig (främst för att fylla på testdata i Grails dev- och test-miljöer).

Loggning

För att få lite mer loggning när man labbar lokalt kan man tillfälligt ändra några "error" till "debug" i Config.groovy. Dessa loggar hamnar i tak/tak-web/target/tomcat/logs/tak-web.log.

Skapa Grailsprojekt

Vill man skapa ett nytt Grailsprojekt för att labba och jämföra så kan det göras enlig beskrivning på:
https://www.vogella.com/tutorials/Grails/article.html (Gäller Grails 2.x så det fungerar på motsvarande sätt som nuvarande TAK-implementation, men inget vi ska titta på för framtida uppdateringar.)
För att se vilken konfiguration som behöver ändras för att byta databas från H2 till MySql kan man kolla på https://stackoverflow.com/questions/11345305/how-do-i-connect-to-mysql-database-in-grails
Kör projektet med "grails run-app" (utan Maven, se även till att JAVA_HOME är korrekt satt). (Ange även miljöswitch om annan miljö än “dev“ önskas.)

  • Inga etiketter