当前位置: 首页 > 知识库问答 >
问题:

如何将特定于环境(开发、测试、产品)的工件部署到Jenkins形式的工件

蒋鸿文
2023-03-14

我正在使用以下配置文件为开发、测试和生产环境创建3个工件(war):

clean install -P dev
cp target/ABC.war output/ABC-dev-${BUILD_NUMBER}.war

clean install -P test
cp target/ABC.war output/ABC-test-${BUILD_NUMBER}.war

clean install -P prod
cp target/ABC.war output/ABC-prod-${BUILD_NUMBER}.war

为了从Jenkins执行此操作,我使用Jenkins插件“调用顶级Maven目标”。

一旦创建了所有war,我想将它们部署到Artifactory!

我谷歌了很多,但没有找到任何关于只是部署我的工件到Artifactory。

注意:我可以使用“clean deploy-P dev”构建和部署我的工件,但在这种情况下,我无法修改工件名称。(公司工件不允许在未启用版本控制的情况下进行部署。)

任何帮助都将不胜感激。谢谢!

共有2个答案

邓韬
2023-03-14

您可以使用< code>cURL将您的< code>war文件上传到Artifactory。

$ curl -v --user username:password --data-binary @/local/path/to/war-file/ABC-dev.war -X PUT "http://org.artifactory.com/artifactory/repo_name/folder_name/ABC-dev-${BUILD_NUMBER}.war

"

夏华藏
2023-03-14

您可以使用JFrog CLI根据某种模式将不同文件发布到不同的位置。例如:

jfrog rt u "*dev*" "dev-repo/path/to/file"
jfrog rt u "*test*" "test-repo/path/to/file"

也就是说,您不必知道确切的文件名,并且可以使用该模式将文件上传到正确的位置。

那是你正在寻找的吗?

 类似资料:
  • 问题内容: 我有一个在Jenkins中运行的多模块Maven项目。我想将最终的工件(程序集构建中的RPM)部署到Nexus服务器。我认为没有理由部署中间工件(因此没有“ mvn clean deploy”),因为这会在服务器上产生我不需要的额外垃圾。我们正在尝试建立一个持续交付管道,因此我们从未部署过SNAPSHOT版本。Jenkins的各种插件似乎都专注于部署所有工件。我该如何部署自己选择的那个

  • 我的名为“TestProject”的Java/Maven项目与我的jenkins and nexus repo挂钩: 我的pom.xml看起来是: 正如预期的那样,jenkins将工件上传到Nexus,看看jenkins build的控制台输出,如下所示: 问题是: 如果我在pom.xml中指定的版本是

  • 环境要求(单机环境) jdk zookeeper zkui(方便查看zookeeper集群信息) mysql node.js 环境配置过程: vmware安装centos(其他linux环境理论上一样,但未测试),选择NAT模式方便与宿主机联网; 安装jdk(我使用的jdk1.8) 安装zookeeper和zkui 安装node.js(porter-ui需要node环境) 准备mysql服务器,p

  • 问题内容: 我的java / maven项目“ testproject”与我的jenkins和nexus回购挂钩: 我的pom.xml看起来像: 在我的詹金斯设置中,我有: 正如预期的那样,jenkins将工件上传到Nexus。查看jenkins build的控制台输出,如下所示: 问题是 : 鉴于我在pom.xml中指定的版本是 jenkins为何将testproject- 0.1-201205

  • 目前,我使用JFrog artifactory Gradle插件将java构建构件上载到本地artifactory存储库(Gradle默认存储库布局)。我想将其中一些部署到JCenter和/或Maven Central,使其开源并可供任何人访问。为此,我在Artifactory上创建了一个发行版(使用默认设置),并将其链接到我创建的一个Bintray帐户。然而,当我尝试从本地artifactory