bekkopen / Continuous-Delivery-example

Example Java web-app infrastructure for Continuous Delivery
13 stars 6 forks source link

Finne en måte å filtrere inn hostname i propertiesfiler #1

Closed steinim closed 13 years ago

steinim commented 13 years ago

webapp.properties og secret.properties filtreres til webapp/target/test-classes. Propertien 'hostname' skal filtreres til lokal maskins hostname. Å bruke ${env.HOSTNAME} for å sette propertien i pom.xml funker ikke og er sikkert en feilkilde på tvers av OS. Hmmmm... Hvordan kan dette løses?

eirikwang commented 13 years ago

bør uansett hostename filtreres i pom? Er ikke det en runtime-oppgave?

steinim commented 13 years ago

Stilte spørsmål her: http://stackoverflow.com/questions/7441265/look-up-hostname-from-maven

eirikwang commented 13 years ago

Hva med å legge selve detektering av miljø til deploy.sh fila? Dvs: du finner miljø i shh, og letter etter config fil i {miljø}/deploy.config

steinim commented 13 years ago

En løsning som funker greit nok er at man må legge inn export HOSTNAME=$(hostname) i sin .bash_profile elle .bashrc. På Windows må man legge det inn som en miljøvariabel på måten de gjør det på den plattformen.

Det er kun for lokal kjøring med mvn exec:java dette er nødvendig. Og så hadde det vært morro å funnet en bedre løsning, men greit nok. Lukker saken.

eirikwang commented 13 years ago

Ser det finnes en buildmetadata plugin som kanskje kan brukes.. ?

https://www.smartics.de/maven-buildmetadata-plugin/

steinim commented 13 years ago

Fikk svar på stackoverflow: http://stackoverflow.com/questions/7441265/look-up-hostname-from-maven Veldig fin løsning. Bruker groovy-script for å hente hostname.

<plugin>
    <groupId>org.codehaus.groovy.maven</groupId>
    <artifactId>gmaven-plugin</artifactId>
    <executions>
        <execution>
            <phase>generate-resources</phase>
            <goals>
                <goal>execute</goal>
          </goals>
           <configuration>
              <source>
              project.properties["hostname"] = InetAddress.getLocalHost().getHostName()
             </source>
         </configuration>
     </execution>
  </executions>

eirikwang commented 13 years ago

Ah. Kult. Hvorfor tenkte en ikke på det a? :)