云效 Flow——Java构建并通过云效上传二方库到 Maven 私有仓库
Posted Starzkg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了云效 Flow——Java构建并通过云效上传二方库到 Maven 私有仓库相关的知识,希望对你有一定的参考价值。
解决方案
当用户开通了 Maven 私有仓库服务后,云效会为用户生成两个私有仓库,一个用于存放 release 版本的二方库,一个用于存储 SNAPSHOT 版本的二方库。
Release 仓库地址示例:
https://packages.aliyun.com/maven/repository/24409-release-87w1FL/
SnapShot 仓库地址示例:
https://packages.aliyun.com/maven/repository/24409-snapshot-AA0Hx0/
方法一:pom.xml配置
在项目代码库根目录的 pom.xml 中指定分发的仓库地址,示例如下:
<distributionManagement>
<repository>
<id>rdc-releases</id>
<url>https://packages.aliyun.com/maven/repository/24409-release-87w1FL/</url>
</repository>
<snapshotRepository>
<id>rdc-snapshots</id>
<url>https://packages.aliyun.com/maven/repository/24409-snapshot-AA0Hx0/</url>
</snapshotRepository>
</distributionManagement>
然后在云效中创建一条流水线,新建一个java构建的步骤,写入构建命令:
mvn clean deploy-Dmaven.test.skip
如果你的pom.xml
配置的软件包版本是以-SNAPSHOT
结尾,比如版本为1.0-SNAPSHOT
,会自动发布到snapshot
仓;如果想发到release
仓,可以将命令改为mvn clean deploy-Dmaven.test.skip -P rdc-releases
。
方法二:构建命令
在构建命令中指定分发的仓库地址。
方式是在Maven命令中指定-DaltDeploymentRepository参数。
mvn -DaltDeploymentRepository=rdc-releases::default::https://packages.aliyun.com/maven/repository/24409-release-87w1FL -Dmaven.test.skip
altDeploymentRepository 指定了id::layout::url。
在云效的 Maven 私有仓库服务中 release 仓库的 id 为rdc-releases。SNAPSHOT 仓库的 id 为rdc-snapshots。
layout 一般使用默认值 default,而 url 则为 release 仓库或 SNAPSHOT 仓库的 url。
上传到SNAPSHOT 仓库的示例命令如下:
mvn -DaltDeploymentRepository=rdc-snapshots::default::https://packages.aliyun.com/maven/repository/24409-snapshot-AA0Hx0 -Dmaven.test.skip
方法三:纯命令构建
不修改pom.xml
mvn clean install org.apache.maven.plugins:maven-deploy-plugin:2.8:deploy -DaltSnapshotDeploymentRepository=rdc-releases::default::https://packages.aliyun.com/maven/repository/24409-release-87w1FL -DaltReleaseDeploymentRepository=rdc-snapshots::default::https://packages.aliyun.com/maven/repository/24409-snapshot-AA0Hx0 -Dmaven.test.skip
得确保deploy插件是基于2.8版本以上
常见问题
参考文章
以上是关于云效 Flow——Java构建并通过云效上传二方库到 Maven 私有仓库的主要内容,如果未能解决你的问题,请参考以下文章