UppdateraHSACache - Installationsanvisningar
Installationspaket:
Installationpaket består av
- hsa-cache-x.x.x.war
- uppdateraHSACache.groovy
Ställa in skriptet på server
Det är lämpligt att skapa mappen hsaUppdatering för skriptet. Servern måste ha Groovy installerat.
Skriptet
Exempel på lämplig mappstruktur
conf - mappen för config filen(application.properties och logback.xml), keystore/truststore(application.properties: keystore.path och truststore.path) och environment file
files - mappen för hsa filar(application.properties: hsa.files.dir) och hsa symlink(application.properties: hsa.symlink.file)
scripts - mappen för UppdateraHSACache.groovy script
log - plats för loggar (man kan ställa in den i logback.xml)
.groovy - mappen för grapeConfig.xml och grapes dependencies
Grapes/maven
Groovy scriptet använder Grab som dependency manager. För att Grapes ska kunna hitta dependencies (hsa-cache-x.x.x.war) behövs filen .groovy/grapeConfig.xml
<ivysettings> <settings defaultResolver="downloadGrapes"/> <resolvers> <chain name="downloadGrapes" returnFirst="true"> <filesystem name="cachedGrapes"> <ivy pattern="${user.home}/hsaUppdatering/.groovy/grapes/[organisation]/[module]/ivy-[revision].xml"/> <artifact pattern="${user.home}/hsaUppdatering/.groovy/grapes/[organisation]/[module]/[type]s/[artifact]-[revision](-[classifier]).[ext]"/> </filesystem> <ibiblio name="localm2" root="file:${user.home}/hsaUppdatering/.m2/repository" checkmodified="true" changingPattern=".*" changingMatcher="regexp" m2compatible="true"/> <!-- todo add 'endorsed groovy extensions' resolver here --> <ibiblio name="jcenter" root="https://jcenter.bintray.com/" m2compatible="true"/> <ibiblio name="ibiblio" m2compatible="true"/> </chain> </resolvers> </ivysettings>
Grapes försöker hitta dependencies i .m2/repository och https://jcenter.bintray.com/ och spara dem i .groovy/grapes/
Konfigurationsfiler:
Det finns två config filer för scriptet:
# den symlink måste bli i property HSA_FILES i config file för alla VP i den miljö hsa.symlink.file=link/till/hsacache.xml # map med alla hsa filen hsa.files.dir=link/till/hsa-files/dir #hsa server hsa.file.url=https://hsa.server.se/get/file hsa.file.name=hsaunits.zip #cert for hsa server keystore.path=link/till/keystore.jks keystore.password=keystorePass truststore.path=link/till/truststore.jks truststore.password=truststorePass #alert mail send.mail=true mail.smtp.host=smtp.server.se mail.smtp.port=465 mail.smtp.login=support@server.se mail.smtp.password=password to.mail=mail@support.se alert.mail.subject=Problem med uppdatering av HSA cache alert.mail.text=Ett fel inträffade under körning av hsa uppdateringsskript \n %s # om skillnad mellan 2 hsa filer är mer an den antal => avbryter skript, skickar mail till support allowable.diff.hsa.file=70973 # alla VP urlar för den miljö reset.HSA.cache.url=http://vp.server.se:PORT/resethsacache reset.HSA.cache.url.1=http://vp2.server.se:PORT/resethsacache reset.HSA.cache.url.2=http://vp3.server.se:PORT/resethsacache
Riktiga symlink-filen (hsa.symlink.file) kan saknas(om skriptet körs för första gången). Då kan skriptet ska skapa den själv.
Man måste också ställa in VP att läsa in rätt fil:
Ändra HSA_FILES property i file vp-config-override.properties. Den propertien ska peka på samma fil som property hsa.symlink.file=link/till/hsacache.xml i application.properties
Config fil för loggning. Man kan ställa in log fil och sökväg:
<configuration> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>nyHSAFileNedladdning.log</file> <append>true</append> <encoder> <pattern>%d{YYYY/MM/dd HH:mm:ss.SSS} %-5level - %msg%n</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>nyHSAFileNedladdning.%i.log</fileNamePattern> <minIndex>1</minIndex> <maxIndex>30</maxIndex> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> </triggeringPolicy> </appender> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{YYYY/MM/dd HH:mm:ss.SSS} %-5level - %msg%n</pattern> </encoder> </appender> <logger name="scriptLogger" level="info"> <appender-ref ref="FILE"/> </logger> <root level="debug"> <appender-ref ref="STDOUT"/> </root> </configuration>
export LANG=sv_SE.utf8 export LC_ALL=sv_SE.utf8 JAVA_HOME=/local/java/1.8.0 export JAVA_HOME