How do I capture the Maven Jar name as a part of a Hudson job?How to change the build directory of a Hudson job?How to view test results in Hudson?How can I start a hudson job using Python?Capture the build number for a remote-triggered Hudson job?How to start Hudson with the existing configuration?what is the best way to use gnumake with hudsonRunning Hudson builds with a lower process priorityHow can I download Maven artifacts in chef?How to modify the job page of individual job in hudson?Jenkins Maven job has no “Maven Installation” option

Beginner's snake game using PyGame

Why would Lupin kill Pettigrew?

count number of files in directory with a certain name

When a current flow in an inductor is interrupted, what limits the voltage rise?

Is having a hidden directory under /etc safe?

What is/are this/these giant NASA box(es)?

Is it possible to change original filename of an exe?

Creating Fictional Slavic Place Names

Looking after a wayward brother in mother's will

What's the most polite way to say "shut up and let me work"?

How does one "dump" or deplete propellant without changing spacecraft attitude or trajectory?

Where did the “vikings wear helmets with horn” stereotype come from and why?

What are the benefits of cryosleep?

Can a wire having a 610-670 THz (frequency of blue light) AC frequency supply, generate blue light?

Is there an explanation for Austria's Freedom Party virtually retaining its vote share despite recent scandal?

Did airlines fly their aircraft slower in response to oil prices in the 1970s?

Why is there a need to modify system call tables in linux?

Adding strings in lists together

What caused the tendency for conservatives to not support climate change regulations?

Preserving culinary oils

What are the slash markings on Gatwick's 08R/26L?

What is game ban VS VAC ban in steam?

Can't connect to Internet in bash using Mac OS

How can I include a header file that contains `>` in its name?



How do I capture the Maven Jar name as a part of a Hudson job?


How to change the build directory of a Hudson job?How to view test results in Hudson?How can I start a hudson job using Python?Capture the build number for a remote-triggered Hudson job?How to start Hudson with the existing configuration?what is the best way to use gnumake with hudsonRunning Hudson builds with a lower process priorityHow can I download Maven artifacts in chef?How to modify the job page of individual job in hudson?Jenkins Maven job has no “Maven Installation” option






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















I have a Maven 3 job configured in my Hudson server.



When the Hudson server successfully builds the Maven jar, I have the jar being deployed to an SCP repository on another server.



I want to execute a relink.sh script on the remote host where one of the parameters is the name of the newly delivered jar file (e.g. /usr/bin/relink.sh myproject-0.0.2-SNAPSHOT.jar).



How do I get that Maven-based file / version name into a variable that I can then use in my Hudson call to execute the remote script?










share|improve this question




























    0















    I have a Maven 3 job configured in my Hudson server.



    When the Hudson server successfully builds the Maven jar, I have the jar being deployed to an SCP repository on another server.



    I want to execute a relink.sh script on the remote host where one of the parameters is the name of the newly delivered jar file (e.g. /usr/bin/relink.sh myproject-0.0.2-SNAPSHOT.jar).



    How do I get that Maven-based file / version name into a variable that I can then use in my Hudson call to execute the remote script?










    share|improve this question
























      0












      0








      0








      I have a Maven 3 job configured in my Hudson server.



      When the Hudson server successfully builds the Maven jar, I have the jar being deployed to an SCP repository on another server.



      I want to execute a relink.sh script on the remote host where one of the parameters is the name of the newly delivered jar file (e.g. /usr/bin/relink.sh myproject-0.0.2-SNAPSHOT.jar).



      How do I get that Maven-based file / version name into a variable that I can then use in my Hudson call to execute the remote script?










      share|improve this question














      I have a Maven 3 job configured in my Hudson server.



      When the Hudson server successfully builds the Maven jar, I have the jar being deployed to an SCP repository on another server.



      I want to execute a relink.sh script on the remote host where one of the parameters is the name of the newly delivered jar file (e.g. /usr/bin/relink.sh myproject-0.0.2-SNAPSHOT.jar).



      How do I get that Maven-based file / version name into a variable that I can then use in my Hudson call to execute the remote script?







      shell hudson maven






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Aug 18 '14 at 17:58









      Lorin S.Lorin S.

      7518




      7518




















          3 Answers
          3






          active

          oldest

          votes


















          0














          I'm not sure if you can or can't pass the variable, but a work-around would be to first copy the file to a staging directory, instead of directly to where you want it to go. Then have your script look in the staging directory for a file and move it:



          STAGE_DIR=/path/to/stage
          DEST_DIR=/path/to/dest
          LINK=/path/to/link.jar

          while read file; do
          mv $file $DEST_DIR
          ln -s -f $DEST_DIR/$(basename $file) $LINK
          done < <( find $STAGE_DIR -name "myproject*SNAPSHOT.jar" )


          You might want to do some error checking and exit with non-0 if there is, e.g., more than one file that matches, no files, etc. Have you solved the issue?






          share|improve this answer






























            0














            Like @zerodiff suggested there seems to be a number of ways to do this via Hudson but they all seemed to be brittle and difficult to maintain when managing a large number of projects. I instead used Maven's wagon plugin to implement the deployment via Maven instead of via Hudson.



            The configuration I used in the maven projects:



            <properties>
            <!-- Deploy -->
            <dev.server.hostname>192.168.1.1</dev.server.hostname>
            <application.name>test-application</application.name>
            <!-- Deploy -->
            </properties>

            <build>
            <extensions>
            <extension>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-ssh</artifactId>
            <version>1.0</version>
            </extension>
            </extensions>
            </build>

            <profiles>
            <profile>
            <id>hudson</id>
            <activation>
            <property>
            <name>env</name>
            <value>hudson</value>
            </property>
            </activation>
            <build>
            <filters>
            <filter>src/main/filters/$env-linux.properties</filter>
            <filter>src/main/filters/$env.properties</filter>
            </filters>
            <plugins>
            <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>wagon-maven-plugin</artifactId>
            <version>1.0-beta-5</version>
            <executions>
            <execution>
            <id>dev-deploy</id>
            <phase>deploy</phase>
            <goals>
            <goal>upload</goal>
            </goals>
            <configuration>
            <fromDir>$project.build.directory</fromDir>
            <includes>$project.build.finalName.jar</includes>
            <url>scp://$dev.server.hostname/</url>
            <toDir>/opt/$application.name</toDir>
            <serverId>dev-deploy-server</serverId>
            </configuration>
            </execution>
            <execution>
            <id>execute-dev-deploy-commands</id>
            <phase>deploy</phase>
            <goals>
            <goal>sshexec</goal>
            </goals>
            <configuration>
            <url>scp://$dev.server.hostname/</url>
            <serverId>dev-deploy-server</serverId>
            <commands>
            <command>sudo /etc/init.d/$application.name stop</command>
            <command>sleep 2</command>
            <command>sudo /opt/$application.name/relink.sh $project.build.finalName.jar</command>
            <command>sudo /etc/init.d/$application.name start</command>
            </commands>
            </configuration>
            </execution>
            </executions>
            </plugin>
            </plugins>
            </build>
            </profile>
            </profiles>


            In my maven settings.xml, I have the credentials for the dev-deploy-server:



             <server>
            <id>dev-deploy-server</id>
            <username>hudson_bot</username>
            </server>


            With the Maven plugin in Hudson, I added the "Invoke Maven 3" Build directive and:



            • Goals: clean deploy

            • Properties: env=hudson

            Finally I set up the security between the two servers so that "hudson_bot" could scp to the dev-deploy-server and gave hudson_bot sudoer NO_PASSWD privileges to the two mentioned scripts in the ssh execute element.






            share|improve this answer






























              0














              You want to get the jar artifact name from Maven itself in order to prevent adjusting your script when developers change the artifact's id or version. Scanning for *.jar files is not elegant as it would match more than the main artifact (e.g. *-javadoc.jar).
              So to get the main artifact version from Maven I rely on 2 facts:



              • by default, the jar plugin uses the artifact's id and version for the final jar artifact, e.g. target/the-service-0.0.1-SNAPSHOT.jar


              • the artifact's id, group and version are stored in pom.properties



                $ cat target/maven-archiver/pom.properties
                #Generated by Apache Maven
                #Fri Jul 06 15:10:03 CEST 2018
                version=0.0.1-SNAPSHOT
                groupId=net.company
                artifactId=the-service


              Note that java devs can still change the default build folder target and break your hudson job.






              share|improve this answer

























                Your Answer








                StackExchange.ready(function()
                var channelOptions =
                tags: "".split(" "),
                id: "2"
                ;
                initTagRenderer("".split(" "), "".split(" "), channelOptions);

                StackExchange.using("externalEditor", function()
                // Have to fire editor after snippets, if snippets enabled
                if (StackExchange.settings.snippets.snippetsEnabled)
                StackExchange.using("snippets", function()
                createEditor();
                );

                else
                createEditor();

                );

                function createEditor()
                StackExchange.prepareEditor(
                heartbeatType: 'answer',
                autoActivateHeartbeat: false,
                convertImagesToLinks: true,
                noModals: true,
                showLowRepImageUploadWarning: true,
                reputationToPostImages: 10,
                bindNavPrevention: true,
                postfix: "",
                imageUploader:
                brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
                contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
                allowUrls: true
                ,
                onDemand: true,
                discardSelector: ".discard-answer"
                ,immediatelyShowMarkdownHelp:true
                );



                );













                draft saved

                draft discarded


















                StackExchange.ready(
                function ()
                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f622247%2fhow-do-i-capture-the-maven-jar-name-as-a-part-of-a-hudson-job%23new-answer', 'question_page');

                );

                Post as a guest















                Required, but never shown

























                3 Answers
                3






                active

                oldest

                votes








                3 Answers
                3






                active

                oldest

                votes









                active

                oldest

                votes






                active

                oldest

                votes









                0














                I'm not sure if you can or can't pass the variable, but a work-around would be to first copy the file to a staging directory, instead of directly to where you want it to go. Then have your script look in the staging directory for a file and move it:



                STAGE_DIR=/path/to/stage
                DEST_DIR=/path/to/dest
                LINK=/path/to/link.jar

                while read file; do
                mv $file $DEST_DIR
                ln -s -f $DEST_DIR/$(basename $file) $LINK
                done < <( find $STAGE_DIR -name "myproject*SNAPSHOT.jar" )


                You might want to do some error checking and exit with non-0 if there is, e.g., more than one file that matches, no files, etc. Have you solved the issue?






                share|improve this answer



























                  0














                  I'm not sure if you can or can't pass the variable, but a work-around would be to first copy the file to a staging directory, instead of directly to where you want it to go. Then have your script look in the staging directory for a file and move it:



                  STAGE_DIR=/path/to/stage
                  DEST_DIR=/path/to/dest
                  LINK=/path/to/link.jar

                  while read file; do
                  mv $file $DEST_DIR
                  ln -s -f $DEST_DIR/$(basename $file) $LINK
                  done < <( find $STAGE_DIR -name "myproject*SNAPSHOT.jar" )


                  You might want to do some error checking and exit with non-0 if there is, e.g., more than one file that matches, no files, etc. Have you solved the issue?






                  share|improve this answer

























                    0












                    0








                    0







                    I'm not sure if you can or can't pass the variable, but a work-around would be to first copy the file to a staging directory, instead of directly to where you want it to go. Then have your script look in the staging directory for a file and move it:



                    STAGE_DIR=/path/to/stage
                    DEST_DIR=/path/to/dest
                    LINK=/path/to/link.jar

                    while read file; do
                    mv $file $DEST_DIR
                    ln -s -f $DEST_DIR/$(basename $file) $LINK
                    done < <( find $STAGE_DIR -name "myproject*SNAPSHOT.jar" )


                    You might want to do some error checking and exit with non-0 if there is, e.g., more than one file that matches, no files, etc. Have you solved the issue?






                    share|improve this answer













                    I'm not sure if you can or can't pass the variable, but a work-around would be to first copy the file to a staging directory, instead of directly to where you want it to go. Then have your script look in the staging directory for a file and move it:



                    STAGE_DIR=/path/to/stage
                    DEST_DIR=/path/to/dest
                    LINK=/path/to/link.jar

                    while read file; do
                    mv $file $DEST_DIR
                    ln -s -f $DEST_DIR/$(basename $file) $LINK
                    done < <( find $STAGE_DIR -name "myproject*SNAPSHOT.jar" )


                    You might want to do some error checking and exit with non-0 if there is, e.g., more than one file that matches, no files, etc. Have you solved the issue?







                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Aug 29 '14 at 21:27









                    zerodiffzerodiff

                    1012




                    1012























                        0














                        Like @zerodiff suggested there seems to be a number of ways to do this via Hudson but they all seemed to be brittle and difficult to maintain when managing a large number of projects. I instead used Maven's wagon plugin to implement the deployment via Maven instead of via Hudson.



                        The configuration I used in the maven projects:



                        <properties>
                        <!-- Deploy -->
                        <dev.server.hostname>192.168.1.1</dev.server.hostname>
                        <application.name>test-application</application.name>
                        <!-- Deploy -->
                        </properties>

                        <build>
                        <extensions>
                        <extension>
                        <groupId>org.apache.maven.wagon</groupId>
                        <artifactId>wagon-ssh</artifactId>
                        <version>1.0</version>
                        </extension>
                        </extensions>
                        </build>

                        <profiles>
                        <profile>
                        <id>hudson</id>
                        <activation>
                        <property>
                        <name>env</name>
                        <value>hudson</value>
                        </property>
                        </activation>
                        <build>
                        <filters>
                        <filter>src/main/filters/$env-linux.properties</filter>
                        <filter>src/main/filters/$env.properties</filter>
                        </filters>
                        <plugins>
                        <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>wagon-maven-plugin</artifactId>
                        <version>1.0-beta-5</version>
                        <executions>
                        <execution>
                        <id>dev-deploy</id>
                        <phase>deploy</phase>
                        <goals>
                        <goal>upload</goal>
                        </goals>
                        <configuration>
                        <fromDir>$project.build.directory</fromDir>
                        <includes>$project.build.finalName.jar</includes>
                        <url>scp://$dev.server.hostname/</url>
                        <toDir>/opt/$application.name</toDir>
                        <serverId>dev-deploy-server</serverId>
                        </configuration>
                        </execution>
                        <execution>
                        <id>execute-dev-deploy-commands</id>
                        <phase>deploy</phase>
                        <goals>
                        <goal>sshexec</goal>
                        </goals>
                        <configuration>
                        <url>scp://$dev.server.hostname/</url>
                        <serverId>dev-deploy-server</serverId>
                        <commands>
                        <command>sudo /etc/init.d/$application.name stop</command>
                        <command>sleep 2</command>
                        <command>sudo /opt/$application.name/relink.sh $project.build.finalName.jar</command>
                        <command>sudo /etc/init.d/$application.name start</command>
                        </commands>
                        </configuration>
                        </execution>
                        </executions>
                        </plugin>
                        </plugins>
                        </build>
                        </profile>
                        </profiles>


                        In my maven settings.xml, I have the credentials for the dev-deploy-server:



                         <server>
                        <id>dev-deploy-server</id>
                        <username>hudson_bot</username>
                        </server>


                        With the Maven plugin in Hudson, I added the "Invoke Maven 3" Build directive and:



                        • Goals: clean deploy

                        • Properties: env=hudson

                        Finally I set up the security between the two servers so that "hudson_bot" could scp to the dev-deploy-server and gave hudson_bot sudoer NO_PASSWD privileges to the two mentioned scripts in the ssh execute element.






                        share|improve this answer



























                          0














                          Like @zerodiff suggested there seems to be a number of ways to do this via Hudson but they all seemed to be brittle and difficult to maintain when managing a large number of projects. I instead used Maven's wagon plugin to implement the deployment via Maven instead of via Hudson.



                          The configuration I used in the maven projects:



                          <properties>
                          <!-- Deploy -->
                          <dev.server.hostname>192.168.1.1</dev.server.hostname>
                          <application.name>test-application</application.name>
                          <!-- Deploy -->
                          </properties>

                          <build>
                          <extensions>
                          <extension>
                          <groupId>org.apache.maven.wagon</groupId>
                          <artifactId>wagon-ssh</artifactId>
                          <version>1.0</version>
                          </extension>
                          </extensions>
                          </build>

                          <profiles>
                          <profile>
                          <id>hudson</id>
                          <activation>
                          <property>
                          <name>env</name>
                          <value>hudson</value>
                          </property>
                          </activation>
                          <build>
                          <filters>
                          <filter>src/main/filters/$env-linux.properties</filter>
                          <filter>src/main/filters/$env.properties</filter>
                          </filters>
                          <plugins>
                          <plugin>
                          <groupId>org.codehaus.mojo</groupId>
                          <artifactId>wagon-maven-plugin</artifactId>
                          <version>1.0-beta-5</version>
                          <executions>
                          <execution>
                          <id>dev-deploy</id>
                          <phase>deploy</phase>
                          <goals>
                          <goal>upload</goal>
                          </goals>
                          <configuration>
                          <fromDir>$project.build.directory</fromDir>
                          <includes>$project.build.finalName.jar</includes>
                          <url>scp://$dev.server.hostname/</url>
                          <toDir>/opt/$application.name</toDir>
                          <serverId>dev-deploy-server</serverId>
                          </configuration>
                          </execution>
                          <execution>
                          <id>execute-dev-deploy-commands</id>
                          <phase>deploy</phase>
                          <goals>
                          <goal>sshexec</goal>
                          </goals>
                          <configuration>
                          <url>scp://$dev.server.hostname/</url>
                          <serverId>dev-deploy-server</serverId>
                          <commands>
                          <command>sudo /etc/init.d/$application.name stop</command>
                          <command>sleep 2</command>
                          <command>sudo /opt/$application.name/relink.sh $project.build.finalName.jar</command>
                          <command>sudo /etc/init.d/$application.name start</command>
                          </commands>
                          </configuration>
                          </execution>
                          </executions>
                          </plugin>
                          </plugins>
                          </build>
                          </profile>
                          </profiles>


                          In my maven settings.xml, I have the credentials for the dev-deploy-server:



                           <server>
                          <id>dev-deploy-server</id>
                          <username>hudson_bot</username>
                          </server>


                          With the Maven plugin in Hudson, I added the "Invoke Maven 3" Build directive and:



                          • Goals: clean deploy

                          • Properties: env=hudson

                          Finally I set up the security between the two servers so that "hudson_bot" could scp to the dev-deploy-server and gave hudson_bot sudoer NO_PASSWD privileges to the two mentioned scripts in the ssh execute element.






                          share|improve this answer

























                            0












                            0








                            0







                            Like @zerodiff suggested there seems to be a number of ways to do this via Hudson but they all seemed to be brittle and difficult to maintain when managing a large number of projects. I instead used Maven's wagon plugin to implement the deployment via Maven instead of via Hudson.



                            The configuration I used in the maven projects:



                            <properties>
                            <!-- Deploy -->
                            <dev.server.hostname>192.168.1.1</dev.server.hostname>
                            <application.name>test-application</application.name>
                            <!-- Deploy -->
                            </properties>

                            <build>
                            <extensions>
                            <extension>
                            <groupId>org.apache.maven.wagon</groupId>
                            <artifactId>wagon-ssh</artifactId>
                            <version>1.0</version>
                            </extension>
                            </extensions>
                            </build>

                            <profiles>
                            <profile>
                            <id>hudson</id>
                            <activation>
                            <property>
                            <name>env</name>
                            <value>hudson</value>
                            </property>
                            </activation>
                            <build>
                            <filters>
                            <filter>src/main/filters/$env-linux.properties</filter>
                            <filter>src/main/filters/$env.properties</filter>
                            </filters>
                            <plugins>
                            <plugin>
                            <groupId>org.codehaus.mojo</groupId>
                            <artifactId>wagon-maven-plugin</artifactId>
                            <version>1.0-beta-5</version>
                            <executions>
                            <execution>
                            <id>dev-deploy</id>
                            <phase>deploy</phase>
                            <goals>
                            <goal>upload</goal>
                            </goals>
                            <configuration>
                            <fromDir>$project.build.directory</fromDir>
                            <includes>$project.build.finalName.jar</includes>
                            <url>scp://$dev.server.hostname/</url>
                            <toDir>/opt/$application.name</toDir>
                            <serverId>dev-deploy-server</serverId>
                            </configuration>
                            </execution>
                            <execution>
                            <id>execute-dev-deploy-commands</id>
                            <phase>deploy</phase>
                            <goals>
                            <goal>sshexec</goal>
                            </goals>
                            <configuration>
                            <url>scp://$dev.server.hostname/</url>
                            <serverId>dev-deploy-server</serverId>
                            <commands>
                            <command>sudo /etc/init.d/$application.name stop</command>
                            <command>sleep 2</command>
                            <command>sudo /opt/$application.name/relink.sh $project.build.finalName.jar</command>
                            <command>sudo /etc/init.d/$application.name start</command>
                            </commands>
                            </configuration>
                            </execution>
                            </executions>
                            </plugin>
                            </plugins>
                            </build>
                            </profile>
                            </profiles>


                            In my maven settings.xml, I have the credentials for the dev-deploy-server:



                             <server>
                            <id>dev-deploy-server</id>
                            <username>hudson_bot</username>
                            </server>


                            With the Maven plugin in Hudson, I added the "Invoke Maven 3" Build directive and:



                            • Goals: clean deploy

                            • Properties: env=hudson

                            Finally I set up the security between the two servers so that "hudson_bot" could scp to the dev-deploy-server and gave hudson_bot sudoer NO_PASSWD privileges to the two mentioned scripts in the ssh execute element.






                            share|improve this answer













                            Like @zerodiff suggested there seems to be a number of ways to do this via Hudson but they all seemed to be brittle and difficult to maintain when managing a large number of projects. I instead used Maven's wagon plugin to implement the deployment via Maven instead of via Hudson.



                            The configuration I used in the maven projects:



                            <properties>
                            <!-- Deploy -->
                            <dev.server.hostname>192.168.1.1</dev.server.hostname>
                            <application.name>test-application</application.name>
                            <!-- Deploy -->
                            </properties>

                            <build>
                            <extensions>
                            <extension>
                            <groupId>org.apache.maven.wagon</groupId>
                            <artifactId>wagon-ssh</artifactId>
                            <version>1.0</version>
                            </extension>
                            </extensions>
                            </build>

                            <profiles>
                            <profile>
                            <id>hudson</id>
                            <activation>
                            <property>
                            <name>env</name>
                            <value>hudson</value>
                            </property>
                            </activation>
                            <build>
                            <filters>
                            <filter>src/main/filters/$env-linux.properties</filter>
                            <filter>src/main/filters/$env.properties</filter>
                            </filters>
                            <plugins>
                            <plugin>
                            <groupId>org.codehaus.mojo</groupId>
                            <artifactId>wagon-maven-plugin</artifactId>
                            <version>1.0-beta-5</version>
                            <executions>
                            <execution>
                            <id>dev-deploy</id>
                            <phase>deploy</phase>
                            <goals>
                            <goal>upload</goal>
                            </goals>
                            <configuration>
                            <fromDir>$project.build.directory</fromDir>
                            <includes>$project.build.finalName.jar</includes>
                            <url>scp://$dev.server.hostname/</url>
                            <toDir>/opt/$application.name</toDir>
                            <serverId>dev-deploy-server</serverId>
                            </configuration>
                            </execution>
                            <execution>
                            <id>execute-dev-deploy-commands</id>
                            <phase>deploy</phase>
                            <goals>
                            <goal>sshexec</goal>
                            </goals>
                            <configuration>
                            <url>scp://$dev.server.hostname/</url>
                            <serverId>dev-deploy-server</serverId>
                            <commands>
                            <command>sudo /etc/init.d/$application.name stop</command>
                            <command>sleep 2</command>
                            <command>sudo /opt/$application.name/relink.sh $project.build.finalName.jar</command>
                            <command>sudo /etc/init.d/$application.name start</command>
                            </commands>
                            </configuration>
                            </execution>
                            </executions>
                            </plugin>
                            </plugins>
                            </build>
                            </profile>
                            </profiles>


                            In my maven settings.xml, I have the credentials for the dev-deploy-server:



                             <server>
                            <id>dev-deploy-server</id>
                            <username>hudson_bot</username>
                            </server>


                            With the Maven plugin in Hudson, I added the "Invoke Maven 3" Build directive and:



                            • Goals: clean deploy

                            • Properties: env=hudson

                            Finally I set up the security between the two servers so that "hudson_bot" could scp to the dev-deploy-server and gave hudson_bot sudoer NO_PASSWD privileges to the two mentioned scripts in the ssh execute element.







                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered Aug 30 '14 at 14:19









                            Lorin S.Lorin S.

                            7518




                            7518





















                                0














                                You want to get the jar artifact name from Maven itself in order to prevent adjusting your script when developers change the artifact's id or version. Scanning for *.jar files is not elegant as it would match more than the main artifact (e.g. *-javadoc.jar).
                                So to get the main artifact version from Maven I rely on 2 facts:



                                • by default, the jar plugin uses the artifact's id and version for the final jar artifact, e.g. target/the-service-0.0.1-SNAPSHOT.jar


                                • the artifact's id, group and version are stored in pom.properties



                                  $ cat target/maven-archiver/pom.properties
                                  #Generated by Apache Maven
                                  #Fri Jul 06 15:10:03 CEST 2018
                                  version=0.0.1-SNAPSHOT
                                  groupId=net.company
                                  artifactId=the-service


                                Note that java devs can still change the default build folder target and break your hudson job.






                                share|improve this answer





























                                  0














                                  You want to get the jar artifact name from Maven itself in order to prevent adjusting your script when developers change the artifact's id or version. Scanning for *.jar files is not elegant as it would match more than the main artifact (e.g. *-javadoc.jar).
                                  So to get the main artifact version from Maven I rely on 2 facts:



                                  • by default, the jar plugin uses the artifact's id and version for the final jar artifact, e.g. target/the-service-0.0.1-SNAPSHOT.jar


                                  • the artifact's id, group and version are stored in pom.properties



                                    $ cat target/maven-archiver/pom.properties
                                    #Generated by Apache Maven
                                    #Fri Jul 06 15:10:03 CEST 2018
                                    version=0.0.1-SNAPSHOT
                                    groupId=net.company
                                    artifactId=the-service


                                  Note that java devs can still change the default build folder target and break your hudson job.






                                  share|improve this answer



























                                    0












                                    0








                                    0







                                    You want to get the jar artifact name from Maven itself in order to prevent adjusting your script when developers change the artifact's id or version. Scanning for *.jar files is not elegant as it would match more than the main artifact (e.g. *-javadoc.jar).
                                    So to get the main artifact version from Maven I rely on 2 facts:



                                    • by default, the jar plugin uses the artifact's id and version for the final jar artifact, e.g. target/the-service-0.0.1-SNAPSHOT.jar


                                    • the artifact's id, group and version are stored in pom.properties



                                      $ cat target/maven-archiver/pom.properties
                                      #Generated by Apache Maven
                                      #Fri Jul 06 15:10:03 CEST 2018
                                      version=0.0.1-SNAPSHOT
                                      groupId=net.company
                                      artifactId=the-service


                                    Note that java devs can still change the default build folder target and break your hudson job.






                                    share|improve this answer















                                    You want to get the jar artifact name from Maven itself in order to prevent adjusting your script when developers change the artifact's id or version. Scanning for *.jar files is not elegant as it would match more than the main artifact (e.g. *-javadoc.jar).
                                    So to get the main artifact version from Maven I rely on 2 facts:



                                    • by default, the jar plugin uses the artifact's id and version for the final jar artifact, e.g. target/the-service-0.0.1-SNAPSHOT.jar


                                    • the artifact's id, group and version are stored in pom.properties



                                      $ cat target/maven-archiver/pom.properties
                                      #Generated by Apache Maven
                                      #Fri Jul 06 15:10:03 CEST 2018
                                      version=0.0.1-SNAPSHOT
                                      groupId=net.company
                                      artifactId=the-service


                                    Note that java devs can still change the default build folder target and break your hudson job.







                                    share|improve this answer














                                    share|improve this answer



                                    share|improve this answer








                                    edited Jul 6 '18 at 14:13

























                                    answered Jul 6 '18 at 13:24









                                    AlexAlex

                                    11




                                    11



























                                        draft saved

                                        draft discarded
















































                                        Thanks for contributing an answer to Server Fault!


                                        • Please be sure to answer the question. Provide details and share your research!

                                        But avoid


                                        • Asking for help, clarification, or responding to other answers.

                                        • Making statements based on opinion; back them up with references or personal experience.

                                        To learn more, see our tips on writing great answers.




                                        draft saved


                                        draft discarded














                                        StackExchange.ready(
                                        function ()
                                        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f622247%2fhow-do-i-capture-the-maven-jar-name-as-a-part-of-a-hudson-job%23new-answer', 'question_page');

                                        );

                                        Post as a guest















                                        Required, but never shown





















































                                        Required, but never shown














                                        Required, but never shown












                                        Required, but never shown







                                        Required, but never shown

































                                        Required, but never shown














                                        Required, but never shown












                                        Required, but never shown







                                        Required, but never shown







                                        Popular posts from this blog

                                        Club Baloncesto Breogán Índice Historia | Pavillón | Nome | O Breogán na cultura popular | Xogadores | Adestradores | Presidentes | Palmarés | Historial | Líderes | Notas | Véxase tamén | Menú de navegacióncbbreogan.galCadroGuía oficial da ACB 2009-10, páxina 201Guía oficial ACB 1992, páxina 183. Editorial DB.É de 6.500 espectadores sentados axeitándose á última normativa"Estudiantes Junior, entre as mellores canteiras"o orixinalHemeroteca El Mundo Deportivo, 16 setembro de 1970, páxina 12Historia do BreogánAlfredo Pérez, o último canoneiroHistoria C.B. BreogánHemeroteca de El Mundo DeportivoJimmy Wright, norteamericano do Breogán deixará Lugo por ameazas de morteResultados de Breogán en 1986-87Resultados de Breogán en 1990-91Ficha de Velimir Perasović en acb.comResultados de Breogán en 1994-95Breogán arrasa al Barça. "El Mundo Deportivo", 27 de setembro de 1999, páxina 58CB Breogán - FC BarcelonaA FEB invita a participar nunha nova Liga EuropeaCharlie Bell na prensa estatalMáximos anotadores 2005Tempada 2005-06 : Tódolos Xogadores da Xornada""Non quero pensar nunha man negra, mais pregúntome que está a pasar""o orixinalRaúl López, orgulloso dos xogadores, presume da boa saúde económica do BreogánJulio González confirma que cesa como presidente del BreogánHomenaxe a Lisardo GómezA tempada do rexurdimento celesteEntrevista a Lisardo GómezEl COB dinamita el Pazo para forzar el quinto (69-73)Cafés Candelas, patrocinador del CB Breogán"Suso Lázare, novo presidente do Breogán"o orixinalCafés Candelas Breogán firma el mayor triunfo de la historiaEl Breogán realizará 17 homenajes por su cincuenta aniversario"O Breogán honra ao seu fundador e primeiro presidente"o orixinalMiguel Giao recibiu a homenaxe do PazoHomenaxe aos primeiros gladiadores celestesO home que nos amosa como ver o Breo co corazónTita Franco será homenaxeada polos #50anosdeBreoJulio Vila recibirá unha homenaxe in memoriam polos #50anosdeBreo"O Breogán homenaxeará aos seus aboados máis veteráns"Pechada ovación a «Capi» Sanmartín e Ricardo «Corazón de González»Homenaxe por décadas de informaciónPaco García volve ao Pazo con motivo do 50 aniversario"Resultados y clasificaciones""O Cafés Candelas Breogán, campión da Copa Princesa""O Cafés Candelas Breogán, equipo ACB"C.B. Breogán"Proxecto social"o orixinal"Centros asociados"o orixinalFicha en imdb.comMario Camus trata la recuperación del amor en 'La vieja música', su última película"Páxina web oficial""Club Baloncesto Breogán""C. B. Breogán S.A.D."eehttp://www.fegaba.com

                                        Vilaño, A Laracha Índice Patrimonio | Lugares e parroquias | Véxase tamén | Menú de navegación43°14′52″N 8°36′03″O / 43.24775, -8.60070

                                        Cegueira Índice Epidemioloxía | Deficiencia visual | Tipos de cegueira | Principais causas de cegueira | Tratamento | Técnicas de adaptación e axudas | Vida dos cegos | Primeiros auxilios | Crenzas respecto das persoas cegas | Crenzas das persoas cegas | O neno deficiente visual | Aspectos psicolóxicos da cegueira | Notas | Véxase tamén | Menú de navegación54.054.154.436928256blindnessDicionario da Real Academia GalegaPortal das Palabras"International Standards: Visual Standards — Aspects and Ranges of Vision Loss with Emphasis on Population Surveys.""Visual impairment and blindness""Presentan un plan para previr a cegueira"o orixinalACCDV Associació Catalana de Cecs i Disminuïts Visuals - PMFTrachoma"Effect of gene therapy on visual function in Leber's congenital amaurosis"1844137110.1056/NEJMoa0802268Cans guía - os mellores amigos dos cegosArquivadoEscola de cans guía para cegos en Mortágua, PortugalArquivado"Tecnología para ciegos y deficientes visuales. Recopilación de recursos gratuitos en la Red""Colorino""‘COL.diesis’, escuchar los sonidos del color""COL.diesis: Transforming Colour into Melody and Implementing the Result in a Colour Sensor Device"o orixinal"Sistema de desarrollo de sinestesia color-sonido para invidentes utilizando un protocolo de audio""Enseñanza táctil - geometría y color. Juegos didácticos para niños ciegos y videntes""Sistema Constanz"L'ocupació laboral dels cecs a l'Estat espanyol està pràcticament equiparada a la de les persones amb visió, entrevista amb Pedro ZuritaONCE (Organización Nacional de Cegos de España)Prevención da cegueiraDescrición de deficiencias visuais (Disc@pnet)Braillín, un boneco atractivo para calquera neno, con ou sen discapacidade, que permite familiarizarse co sistema de escritura e lectura brailleAxudas Técnicas36838ID00897494007150-90057129528256DOID:1432HP:0000618D001766C10.597.751.941.162C97109C0155020