【问题标题】:maven automatically deploy artifacts on Archiva?maven 自动在 Archiva 上部署工件?
【发布时间】:2014-02-13 13:01:31
【问题描述】:

也许这个问题被问了一百多次,但我用搜索功能没有找到。

好的,我们有一个运行 Jenkins 和 Archiva 的 CI 服务器。使用 Maven 构建我们的代码。但是现在我们的 IT 部门更改了 CI 服务器的代理配置。无法上网。

当我使用新的工件并在本地构建它时,mvn 会下载它并将其存储在本地存储库中。

但是当我在 SVN Jenkins 中提交源代码时,由于缺少互联网连接而失败。

那么,当我使用 maven 在本地构建项目时,有没有办法自动将工件和 maven 插件部署到 Archiva?

【问题讨论】:

    标签: maven jenkins archiva


    【解决方案1】:

    使用将部署到 Archiva 的 mvn clean deploy。 您必须在 pom.xml 中正确配置 distributionManagement 部分。 见http://archiva.apache.org/docs/1.4-M4/userguide/deploy.html

    【讨论】:

    • 好吧,但是有没有办法自动部署任何第三方工件?
    【解决方案2】:

    我创建了一个 Jenkins 作业,它将执行一个 shell 脚本来要求 Maven 在 Archiva 中部署我们的私有工件

    先决条件

    在您的 .m2/settings.xml 文件中添加您的服务器,即

    <server>
        <id>archiva.release</id>
        <username>admin</username>
        <password>123456</password>
    </server>
    

    将第 3 方工件部署到档案库 shell 脚本

                #!/bin/bash
    
                rm_host=localhost       # archiva server address
                rm_port=8080            # archiva port
                major_version=1     #
                minor_version=0     #
                version_build=1     #
                repository=private      # your repository id in archiva
    
                mvn deploy:deploy-file
                    -Dfile=myApp.jar
                    -DgroupId=com.company
                    -DartifactId=myApp
                    -Dversion=${major_version}.${minor_version}.${version_build}
                    -Dpackaging=jar
                    -Durl=http://${rm_host}:${rm_port}/repository/${repository}/ -DrepositoryId=archiva.release
    

    【讨论】:

      猜你喜欢
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 2010-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-26
      相关资源
      最近更新 更多