使用Jenkins将tar.gz发布到Nexus

时间:2015-10-14 21:32:27

标签: maven jenkins nexus

这是我想解决的问题:

  1. 从Github到本地目录D
  2. 的结账代码
  3. 在目录D中运行configure命令
  4. 为目录
  5. 创建tar.gz
  6. 将taz.gz文件上传至Nexus
  7. 我被困在第3步: - 我可以在Maven pom.xml文件中指定版本,但有没有办法在每次运行Jenkins时自动创建构建版本? - 如果我在pom.xml文件中指定tar.gz,我会得到:未知包装:gz @ line 6,第13列

    如果我在包装内指定jar,则没有错误,文件会成功上传到Nexus。

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

    ==

    按照建议,我正在使用Assembly Plugin,但仍然无法为Directory 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>
    

    这是我的format.xml文件,RE目录是我检查代码并想为它创建tar.gz

    <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">
        <id>bundle</id>
        <formats>
           <format>tar.gz</format>
        </formats>
        <moduleSets>
                <moduleSet>
                        <sources>
                                <fileSets>
                                        <fileSet>
                                                <directory>/var/lib/jenkins/jobs/nightly_build/workspace/RE</directory>
                                        </fileSet>
                                </fileSets>
                        </sources>
                </moduleSet>
        </moduleSets>
        <includeBaseDirectory>false</includeBaseDirectory>
    

2 个答案:

答案 0 :(得分:3)

以下是我们最终的结果:

 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是您在settings.xml中设置的部署ID

<server>
  <id>Auc</id>
  <username>deployment</username>
  <password>deployment123</password>
</server>

答案 1 :(得分:0)

您必须使用Maven Assembly Plugin创建tar.gz,然后您可以像往常一样部署它

mvn clean deploy

和Jenkins上可用的右侧settings.xml,根据部署需要使用凭证。