Maven 使用Jenkins将tar.gz发布到Nexus

Maven 使用Jenkins将tar.gz发布到Nexus,maven,jenkins,nexus,Maven,Jenkins,Nexus,这就是我试图解决的问题: 将代码从Github签出到本地目录D 在目录D中运行configure命令 为目录创建tar.gz 将taz.gz文件上载到Nexus 我被困在第三步: -我可以在Maven pom.xml文件中指定版本,但是有没有办法在每次运行Jenkins时自动创建构建版本? -如果我在pom.xml文件中指定tar.gz,我将得到:Unknown packaging:gz@line 6,column 13 若我在打包中指定了jar,那个么就并没有错误,文件被成功上传到Nexus

这就是我试图解决的问题:

  • 将代码从Github签出到本地目录D
  • 在目录D中运行configure命令
  • 为目录创建tar.gz
  • 将taz.gz文件上载到Nexus
  • 我被困在第三步: -我可以在Maven pom.xml文件中指定版本,但是有没有办法在每次运行Jenkins时自动创建构建版本? -如果我在pom.xml文件中指定tar.gz,我将得到:Unknown packaging:gz@line 6,column 13

    若我在打包中指定了jar,那个么就并没有错误,文件被成功上传到Nexus

    任何建议都会有帮助,谢谢

    ==

    按照建议,我正在使用汇编插件,但仍然无法为目录RE创建tar.gz

    这是我的pom.xml:

    <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.o$
    <modelVersion>4.0.0</modelVersion>
    <groupId>Auc</groupId>
    <artifactId>RE</artifactId>
    <version>1.0.0.112</version>
    <!-- <packaging>tgz</packaging> -->
    <name>RE Repository</name>
    <url>http://nexus1.ccorp.com/nexus</url>
    <build>
    <plugins>
      <plugin>
         <artifactId>maven-assembly-plugin</artifactId>
         <version>2.6</version>
         <executions>
           <execution>
             <configuration>
               <descriptors>
                 <descriptor>format.xml</descriptor>
               </descriptors>
             </configuration>
           </execution>
         </executions>
       </plugin>
     </plugins>
    </build>
    </project>
    
    您必须使用创建tar.gz,然后可以像往常一样使用

    mvn clean deploy
    
    以及正确的settings.xml,可根据部署需要在Jenkins上使用Credentail。

    您必须使用创建tar.gz,然后才能像往常一样使用部署

    mvn clean deploy
    

    Jenkins上提供了正确的settings.xml以及部署所需的Credentail

     mvn deploy:deploy-file -DgroupId=Home -DartifactId=RE -Dversion=0.0.0.1-SNAPSHOT -Dpackaging=tar.gz -DrepositoryId=Auc -Durl=http://nexus1.ccorp.com/nexus/content/repositories/snapshots -Dfile=RE-0.0.0.1-SNAPSHOT.tar.gz
    
    确保-DrepositoryId=Auc,Auc是您在setting.xml中设置的部署id

    <server>
      <id>Auc</id>
      <username>deployment</username>
      <password>deployment123</password>
    </server>
    
    
    Auc
    部署
    部署123
    
    以下是我们的结局:

     mvn deploy:deploy-file -DgroupId=Home -DartifactId=RE -Dversion=0.0.0.1-SNAPSHOT -Dpackaging=tar.gz -DrepositoryId=Auc -Durl=http://nexus1.ccorp.com/nexus/content/repositories/snapshots -Dfile=RE-0.0.0.1-SNAPSHOT.tar.gz
    
    确保-DrepositoryId=Auc,Auc是您在setting.xml中设置的部署id

    <server>
      <id>Auc</id>
      <username>deployment</username>
      <password>deployment123</password>
    </server>
    
    
    Auc
    部署
    部署123