0

我正在将现有的 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
4

1 回答 1

0

我找到的工作解决方案是- maven-target在 builder 部分下使用 a ,如下所示:

- 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 deploy 插件在使用选项时上传工件有一些问题DeployAtEnd,在这种情况下简单使用deploy没有选项。

于 2016-08-17T04:34:28.363 回答