配置
要使用TeamCity Artifactory插件,您首先需要在TeamCity的服务器配置中配置您的Artifactory服务器。然后,您可以设置一个项目构建运行器,将构件和build Info部署到一个已配置的Artifactory服务器上的存储库。
配置系统范围的Artifactory服务器
要使Artifactory服务器对项目运行器配置全局可用,必须在管理|集成| Artifactory.
选择创建新的Artifactory服务器配置并填写Artifactory服务器的URL。
部署人员凭据可以在全局级别为所有构建设置,但也可以在项目构建级别覆盖和设置。
为解析器存储库指定用户名和密码是可选的。它仅在查询Artifactory的REST API以获得配置的存储库列表时使用,并且仅在目标实例不允许匿名访问时使用。
使用Artifactory插件运行构建
一般
Artifactory Plugin将Artifactory配置添加到内置Maven,Gradle而且蚂蚁建造台阶。
此外,敬业Artifactory码头工人build step允许从Artifactory中提取和推送docker映像,同时收集和发布构建信息到Artifactory。
通用构建集成允许从Artifactory下载和上传通用文件,同时收集构建信息并将其发布到Artifactory。通用构建集成配置由Artifactory添加到以下构建步骤:
- 命令行
- FxCop
- MSBuild
- 耙
- Powershell
- XCode项目
- NuGet发布
- NAnt
- Visual Studio (sln)
- Visual Studio 2003
- SBT, Scala构建工具
添加到这些构建步骤中的配置允许使用“文件规格”或“遗留模式”定义要上传和下载的构件。
文件规格
文件规格以JSON格式指定。您可以读取File Spec模式在这里.
遗留模式(已弃用)
从1.8.0版本开始,遗留模式已弃用,并将在未来的版本中删除。
自定义发布的工件 |
允许您指定构建生成的工件文件应该发布到Artifactory。在构建的最后,插件根据指定的工件模式在构建的签出目录中定位工件,并将它们发布到Artifactory的一个或多个位置,可选地为每个部署的工件的目标路径应用映射。发布工件的模式和映射语法类似于TeamCity所使用的构建构件. |
自定义构建依赖项 |
允许您指定在运行构建之前应该从Artifactory下载的已发布工件的依赖项模式。通过使用基于查询的解析,您可以对解析和下载哪些工件进行详细的控制,在您的工件路径中添加一个具有工件在下载之前应该具有的属性的查询。欲了解更多信息,请阅读此处属性解析. |
从版本2.1.4开始,上述配置不向后兼容,您可能需要重新保存构建配置以使其正常运行。
在Artifactory中触发构建保留
您可以在向Artifactory发布构建信息时触发构建保留。
用JFrog x射线扫描构建
TeamCity Artifactory插件通过JFrog Artifactory与JFrog Xray集成,允许您扫描构建工件的漏洞和其他问题。如果发现问题或漏洞,您可以选择让构建作业失败。扫描结果的详细信息总是打印到生成日志中。此集成需要JFrog Artifactory v4.16上面还有JFrog x射线v1.6及以上。
要使用x射线扫描构建,您需要配置看使用正确的过滤器,指定哪些工件和漏洞应该触发警报,并为该手表设置“失败构建作业操作”。您可以阅读更多关于CI/CD与Xray集成的信息在这里.
将可搜索参数附加到Build-Info和已发布工件
在生成配置设置您可以选择参数定义应该附加到工件及其相应的构建信息的系统属性或环境变量。
要定义参数,请单击添加新参数按钮。
填写相应的字段。
与通过Artifactory运行的构建相关的参数是:
buildInfo.property。*
所有以这个前缀开头的属性都被添加到build-info的根属性中artifactory.deploy。*
-以此前缀开头的所有属性都附加到任何已部署的工件上
您可以在单个文件中指定所有属性,然后定义另一个指向该文件的属性。
要将插件指向属性文件,请定义名为buildInfoConfig.propertiesFile
并将其值设置为属性文件的绝对路径。
也可以将插件指向包含上述属性的属性文件。
属性文件应该位于运行构建代理的机器上,不是在服务器上!
在Artifactory中浏览已发布的构建信息
如果你将构建步骤配置为将构建信息发布到Artifactory,你可以从构建运行视图直接链接到Artifactory中的构建信息:
触发构建对构件变化的反应
这个插件允许你设置一种新类型的触发器,周期性地轮询Artifactory中的一个路径,一个文件夹或一个单独的文件。只要在轮询元素中检测到更改,就会触发TeamCity构建。例如,当新的工件部署到Artifactory中的指定路径时,构建可能会被触发。
需要Artifactory Pro
触发构建只在Artifactory Pro中可用
要配置新的生成触发器,请执行管理,选择$ project_name | $ build_name然后,选择触发器。
单击添加新的触发器按钮以选择Artifactory构建触发器
选择Artifactory服务器URL和目标库中。
为所选存储库完成有效部署人员的用户名和密码字段。
部署permssion
指定的用户必须对存储库具有部署权限
然后,在值得关注的项目,指定所选存储库中的路径,其中的更改将自动触发生成。
在观看项目中尽可能具体
为了确定是否发生了更改,Artifactory必须遍历中指定的所有文件夹及其子文件夹注意事项.如果指定的文件夹有很多内容和子文件夹,这是一项资源密集型操作,可能会花费很长时间。
因此,我们建议在指定文件夹时尽可能具体注意事项.
代理配置
如果通过代理访问Artifactory服务器,则需要通过在$ TEAMCITY_USER_HOME / .BuildServer / config / internal.properties
文件。如果该文件不存在,则需要创建它。
Org.jfrog.artifactory.proxy.host org.jfrog.artifactory.proxy.port org.jfrog.artifactory.proxy.username org.jfrog.artifactory.proxy.password
从版本2.5.0开始,您还可以为特定的生成代理定义代理。您可以通过将TeamCity代理名称添加到上述属性名称的末尾来实现这一点。
例如,如果您希望为“my-agent”代理配置一个代理,代理属性配置应该如下所示:
org.jfrog.artifactory.proxy.host。我的经纪人org.jfrog.artifactory.proxy.port。我的经纪人org.jfrog.artifactory.proxy.username。我的经纪人org.jfrog.artifactory.proxy.password.my-agent
如果构建代理名称包含空白,则应将属性名称中的空白替换为\ u0020。
例如,下面介绍如何为默认代理”:
org.jfrog.artifactory。代理.宿主默认\ u0020Agent
执照
TeamCity Artifactory插件在Apache v2许可证下可用。