云客户?
免费开始>
在MyJFrog >中升级
云b>的新功能







概述

Maven Artifactory插件,Artifactory与Maven构建完全集成,允许你做以下事情:
  1. 将属性附加到Artifactory元数据中的已发布构件。
  2. 捕获一个建立信息对象,该对象可以传递给人工REST API以提供完全可跟踪的构建上下文。
  3. 在构建结束时自动发布所有构建工件。

源代码可用!

Maven Artifactory Plugin是一个GitHub上的开源项目你可以自由浏览和分叉。

页面内容


使用

Maven Artifactory Plugin的坐标是org.jfrog.buildinfo: artifactory-maven-plugin: . x.x.x。可以在oss.jfrog.org

典型的构建插件配置如下:

 …<插件> < groupId > org.jfrog。buildinfo artifactory-maven-plugin 3.4.0 false   build-info  publish    awesome qa。team>   https://oss.jfrog.org deployer {DESede}… libs-release-local libs-snapshot-local       

插件的调用阶段为验证我们建议您不要更改它,以便在Maven构建的生命周期中尽早调用插件。


配置

上面的例子配置了Artifactory出版商,将构建工件部署到释放或者是快照的资料库Artifactory的公共OSS实例mvn部署执行

但是,Maven Artifactory Plugin提供了许多其他配置,您可以通过运行看到这些配置mvn -X验证,如下所示:

< deployProperties > . .   .. < envVarsExcludePatterns> .. true/false N    ..  ..  ..  ..  .. true/false true/false < exclusidepatterns > ..  ..  true/false  true/false  10    ..   ..   ..   ..    ..   ..  N N  ..   ..  
< deployProperties >

指定属性您可以附加到已发布的工件。例如:

< deployProperties > < groupId > ${项目。groupId} < / groupId > < artifactId > ${项目。artifactId} < / artifactId > <版本> ${项目。版本}< /版本> < / deployProperties >
< artifactory >
的一部分发布环境变量BuildInfo在收集变量时应用包含或排除模式的元数据和
<出版商>

定义一个工件存储库,在该存储库中,构建工件应该使用< contextUrl >< repoKey > / < snapshotRepoKey >。

的情况下部署构建构件部署只有在构建了所有模块之后才执行目标

< buildInfo >
更新BuildInfo与构建工件一起发布的元数据。您可以配置是否BuildInfo元数据使用<出版商>配置。

读取环境变量和系统属性

每个构建服务器都提供自己的一组环境变量。你可以在配置插件时使用这些变量,如下例所示:

1
2
3.
4
5
6
7
8

<出版商>
<contextUrl> {{ARTIFACTORY_CONTEXT_URL |”https://oss.jfrog.org“}}< /contextUrl>

出版商>
<buildInfo>
<buildNumber> {{DRONE_BUILD_NUMBER | TRAVIS_BUILD_NUMBER | CI_BUILD_NUMBER | BUILD_NUMBER |“333”}}< /buildNumber>
<buildUrl> {{DRONE_BUILD_URL | CI_BUILD_URL | BUILD_URL}} < /buildUrl>
buildInfo>

任何插件配置值都可以包含几个{{. .}}表达式。每个表达式可以包含一个或多个要使用的环境变量或系统属性。

表达式语法允许您根据以下规则提供足够的变量来适应任何构建服务器要求:

  • 每个表达式可以包含几个变量,由' | '字符分隔,用于配置值
  • 列表中的最后一个值是默认值,如果前面的变量都不能作为环境变量或系统属性使用,则将使用该值

例如,对于表达式{{V1 | V2 |“defaultValue "}}插件将尝试定位环境变量V1,则系统属性V1,然后是环境变量或系统属性V2如果这些都不具备,”defaultValue将被使用。

如果最后一个值不是字符串(用引号表示),并且无法解析变量,将被使用(例如,for expression{{V1 | V2}}在哪里都V1也不V2可以解决)。

例子

下面的项目提供了一个使用插件的工作示例:

Maven Artifactory插件


发布说明

3.5.1(2022年11月27日)
  • Pom不能使用Maven安装插件3+来部署
3.5.0(2022年11月24日)
  • 支持模块上的maven.deploy.skip属性
  • 更新附件
3.4.0(2021年2月14日)
  • 添加对人工项目的支持。
  • 验证工件类型长度限制(64)。
  • 将build-info更新为2.35.0。
3.3.0(2021年9月12日)
  1. 用VCS信息填充build-info。
3.2.3(2021年6月6日)
  1. 将build-info-extractor更新到2.26.4。
3.2.1(2021年2月16日)
  1. Plugin被上传到Maven Central。
  2. bug修复-项目启动后被替换的变量被覆盖。
3.2.0(2021年1月18日)
  1. 允许插件被继承。
  2. 允许为校验和部署算法配置最小文件大小。
3.1.0(2021年1月14日)
  1. 重新介绍了环境变量和系统变量的表达式语法算法。
3.0.0(2020年9月30日)
  1. https://github.com/jfrog/build-infohttps://github.com/jfrog/artifactory-maven-plugin
  2. 使用3个线程并行部署工件。
  3. Build-info -用插件名称和版本填充构建代理。
  4. 突发的变化:<营业执照>< blackDuck >配置已被删除。
  5. 突破性变化:删除了环境变量和系统变量的表达式语法算法。
  • 没有标签
版权所有©2023 JFrog Ltd.