2017-07-17 4 views
0

Ich versuche SCM für meine Maven Release-Plugin zu konfigurieren. Das Problem ist jedoch: Die pom.xml in meinem Archetyp, ich möchte nicht eine einzige SCM-Variable fest codieren, sondern eine parametrisierte Version. In meiner jenkinsfile haben wir ein proprietäres Tool, das die scm-URL füllt, also möchte ich diese URL in meine pom.xml einfügen, sobald ich das Projekt von meinem Archetyp eingerichtet habe. Siehe Codefragment unten.Eine Variable in pom.xml von Jenkinsfile einfügen

<developerConnection>scm:git:${myVariable}</developerConnection> 

In meinem Jenkinsfile, ziehe ich wie folgt diesen Wert aus (dies richtig funktioniert):

node { 
    stage 'Checkout' 
    checkout scm 
    def myVariable= sh(returnStdout: true, script: 'git config remote.origin.url').trim() 

Also, zur Erinnerung, ich möchte wissen, wie sich der Wert von Jenkins in das bekommen kann ersetzt pom.xml?

Gerade jetzt, ich bin immer diese Fehlermeldung:

[INFO] fetch url: ${myVariable} 
[INFO] push url: ${myVariable} 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 5.755 s 
[INFO] Finished at: 2017-07-17T16:21:00+00:00 
[INFO] Final Memory: 20M/784M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.3:prepare (default-cli) on project newSeedService: An error is occurred in the checkin process: Exception while executing SCM command. JGit checkin failure! ${myVariable}: not found. -> [Help 1] 

Danke

Antwort

0

wenn Sie diese Eigenschaften aus dem Projekt POM isolieren möchten, können Sie Eigenschaften verwenden Datei, werden Sie Eigenschaften verwenden müssen Maven-Plugin, und führen Sie es in der Initialisierungsphase des Maven-Lebenszyklus als read-project-properties-Ziel aus. Das Beispiel aus der Plugin-Seite wird hier wiedergegeben:

<project> 
<build> 
<plugins> 
    <plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>properties-maven-plugin</artifactId> 
    <version>1.0-alpha-2</version> 
    <executions> 
    <execution> 
     <phase>initialize</phase> 
     <goals> 
      <goal>read-project-properties</goal> 
     </goals> 
     <configuration> 
      <files> 
      <file>etc/config/dev.properties</file> 
      </files> 
     </configuration> 
     </execution> 
    </executions> 
    </plugin> 
</plugins>