覆盖pom.xml中指定的nexus存储库的URL

问题描述 投票:2回答:3

我有一个web项目,我将在jenkins上成功构建后部署到nexus存储库。目前在pom.xml的项目中我有以下配置,其中nexus存储库的主机和端口是硬编码的:

<profiles>
        <profile>
            <id>deploy-snapshot</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <distributionManagement>
                <snapshotRepository>
                    <id>snapshots</id>
                    <name>Repository for snapshots</name>
                    <url>http://ip1:port1/nexus/content/repositories/snapshots</url>
                </snapshotRepository>
            </distributionManagement>
        </profile>
</profiles>

我的目标是从jenkins覆盖nexus url而不对pom.xml进行任何更改,因为目前pom.xml中的配置用于另一个无法重新配置的环境。

知道以哪种方式可以在jenkins上完成,这将是一件好事,考虑到将来我将为负责部署npm软件包的其他工作做类似的工作。

我已经查看了以下jenkins插件https://wiki.jenkins.io/display/JENKINS/Nexus+Artifact+Uploader,但不确定这个是真实的插件,也不确定插件是否适合npm build的zip存档。

maven jenkins nexus
3个回答
4
投票

那是2008年(!)要求制作issue 295: "distributionManagement.site.url configurable from the command line"

在您的情况下,检查通过property altDeploymentRepository是否有帮助:

-DaltDeploymentRepository=...

更确切地说,如“Maven deploy:deploy using -DaltDeploymentRepository

-DaltDeploymentRepository=releaseRepository::default::http://your.repo.url

defaut”是maven2布局(“legacy”是maven 1)


0
投票

要覆盖它,可以在settings.xml文件中进行设置


0
投票

在我正在使用的Jenkins版本中,这是版本。 1.602,如果将项目配置为Maven项目,则可以指定“部署工件到Maven repostitory”后构建操作,您可以为其指定目标存储库。

© www.soinside.com 2019 - 2024. All rights reserved.