maven-metadata.xml not generated in artifactory with jenkins

247 views
Skip to first unread message

Yiyito

unread,
Dec 3, 2018, 10:09:13 AM12/3/18
to Jenkins Users
Hello guys, I´m not sure how does POM in maven works correctly. Here is the thing. I was able to create a job with Jenkins Which build & publish a WAR from java code, to Artifactory using maven (with artifactory plug in) with job number at the end to keep versioning .Then a maven-metadata.xml is created on artifactory as showed in first pic (check attach)


After that, on a second job for deploy, with build with parameters option, I  choose artifact selected and deploy the number of war I want like this (check second image arti2).



Now I wanted to do the same but using maven to ZIP just a folder and publish to artifactory. I was able to do that with maven assembly plug in successfully using a POM and a zip.xml file. Thing is that the metadata.xml in artifactory is not generated like the job with a WAR file I mention at the beginning. It only generates the zip file (also a jar) but not metadata.xml which is needed so I can use jenkins to choose Zip file. here is image from artifactory of Zip generated and error I receive from jenkins (check third image)



So question is, how does POM generates this metadata.xml file in artifactory? I used same pom of Java project that was used to build and publish WAR, except that on last part part I included in <plugin> section "maven assembly plugin" to zip file. In fact , Zip was successfully uploaded and created as I showed on image . Here is POM and zip.xml but metadata.xml not. Anybody knows what can be the issue? thanks!


POM

  <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    <groupId>com.grey</groupId>
    <artifactId>go</artifactId>
    <version>${releaseVersion}</version>

    <name>go</name>
    <description>Demo project for Spring Boot</description>


    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>


    <properties>
        <releaseVersion>0.0.0-SNAPSHOT</releaseVersion>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>  


    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.20</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>azure-documentdb</artifactId>
            <version>1.5.1</version>
        </dependency>

        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.0</version>
        </dependency>

    </dependencies>


    <build>
    <plugins>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.2-beta-5</version>
            <configuration>
                <descriptors>
                    <descriptor>assembly/zip.xml</descriptor>
                </descriptors>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id> <!-- this is used for inheritance merges -->
                    <phase>package</phase> <!-- append to the packaging phase. -->
                    <goals>
                        <goal>single</goal> <!-- goals == mojos -->
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
   </build>
</project>


ZIP.XML

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<baseDirectory>/</baseDirectory>
    <formats>
        <format>zip</format>
    </formats>
    <fileSets>
        <fileSet>
            <directory>static</directory>
            <outputDirectory>/</outputDirectory>
        </fileSet>
    </fileSets>
</assembly>
JENKINSFILE. 


node {
def server = Artifactory.server 'azure-artifactory'
def rtMaven = Artifactory.newMavenBuild()
def buildInfo //= rtMaven.run pom: 'pom.xml', goals: 'clean install -D releaseVersion="${BUILD_NUMBER}"'
stage ('Code Checkout') {
git branch: 'devopstest',
credentialsId: '3e3c8889-0dcc-4b4d-bae1-ac140894d292',
}
stage('Artifactory Configuration') {
// Tool name from Jenkins configuration
//rtMaven.tool = 'Apache Maven 3.0.5'
env.MAVEN_HOME = '/usr/share/maven/'
// Set Artifactory repositories for dependencies resolution and artifacts deployment.
rtMaven.deployer server: server, releaseRepo: 'go-fe-maven-2'
}

stage('Maven build') {
//buildInfo = rtMaven.run pom: 'pom.xml', goals: 'clean install -D releaseVersion="${BUILD_NUMBER}"'
buildInfo = rtMaven.run pom: 'pom.xml', goals: 'package -D releaseVersion="${BUILD_NUMBER}"'
// rtMaven.deployer.deployArtifacts buildInfo
}

stage('Publish build info') {
// server.publishBuildInfo buildInfo
server.publishBuildInfo buildInfo
}
// Wipe the workspace so we are building completely clean
deleteDir()
}
arti1.PNG
arti2.PNG
arti3.PNG
Reply all
Reply to author
Forward
0 new messages