2016-08-15 54 views
0

我正在将现有的maven项目转换为自由式项目,其中将部署到存储库的构建后步骤仅与maven项目一起使用。对自由式项目使用maven-deploy

什么是自由式项目类型实现下面的等价物。有什么方法可以直接使用mvn deploy作为后构建步骤,将构建结束时的构件推送到构件服务器(nexus)?

现在,例如,当您使用JJB运行以下示例时,可以看到作业得到更新,但Deploy Artifacts to maven repository针对自由式项目类型显示,但由于仅与maven项目类型一起使用,因此无法按预期工作。

- job: 
    name: test-freestyle 
    project-type: freestyle 
    description: 'example for freestyle' 
    builders: 
     - shell: | 
      echo 'Hello world' 
      cat /etc/passwd 
    publishers: 
     - maven-deploy: 
      id: example 
      url: http://repo.example.com/maven2/ 
      unique-version: true 
      deploy-unstable: false 
      release-env-var: TIMER 

回答

0

工作的解决方案,我发现是使用一个- maven-target下的建设者部分如下:

- job: 
    name: test-freestyle 
    project-type: freestyle 
    description: 'example for freestyle' 
    builders: 
     - shell: | 
      echo 'Hello world' 
      cat /etc/passwd 
     - maven-target: 
      maven-version: '{mvn33}' 
      pom: pom.xml' 
      goals: 'clean install deploy -DdeployAtEnd=true ...' 
      settings: '{mvn-settings}' 

注:研究发现,maven的部署插件有一些issue上载的文物当使用DeployAtEnd选项,在这种情况下,简单地使用deploy没有选项。