我正在将现有的maven项目转换为自由式项目,其中部署到存储库的构建后步骤仅用于maven
项目。
使用自由式项目类型实现以下内容的等价物。有没有办法直接使用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 :(得分: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}'
注意:在使用DeployAtEnd
选项时,发现maven deploy插件有一些issue上传工件,在这种情况下,简单地使用deploy
而没有选项。