配置
要使用TeamCity Artifactory插件,你首先需要在TeamCity的服务器配置中配置你的Artifactory服务器。然后,您可以设置一个项目构建运行器,将工件和构建信息部署到已配置的Artifactory服务器之一的存储库中。
配置系统范围的人工服务器
要使Artifactory服务器对项目运行器配置全局可用,必须在管理|集成|人工。
选择创建新的Artifactory服务器配置并填写Artifactory服务器的URL。
可以在全局级别为所有构建设置部署人员凭据,但也可以在项目构建级别重写和设置它们。
为解析器存储库指定用户名和密码是可选的。它仅在查询Artifactory的REST API以获取配置的存储库列表时使用,并且仅在目标实例不允许匿名访问时使用。
使用Artifactory插件运行构建
一般
Artifactory Plugin将Artifactory配置添加到内置的Maven,Gradle和蚂蚁建立步骤。
此外,敬业Artifactory码头工人构建步骤允许从Artifactory中提取和推送docker映像,同时收集和发布构建信息到Artifactory。
通用构建集成允许从Artifactory下载和上传通用文件,同时收集构建信息并将其发布到Artifactory。通用构建集成配置由工件添加到以下构建步骤中:
- 命令行
- FxCop
- MSBuild
- 耙
- Powershell
- XCode项目
- NuGet发布
- NAnt
- Visual Studio (sln)
- Visual Studio 2003
- Scala构建工具
添加到这些构建步骤中的配置允许通过使用“文件规范”或“遗留模式”来定义要上传和下载的工件。
文件规格
文件规格以JSON格式指定。您可以阅读File Spec模式在这里。
遗留模式(已弃用)
遗留模式自1.8.0版本以来已弃用,并将在未来的版本中删除。
自定义发布的工件 |
允许您指定由构建生成的工件文件应该发布到Artifactory。在构建结束时,插件根据指定的工件模式在构建的checkout目录中定位工件,并将它们发布到Artifactory的一个或多个位置,可选地为每个已部署工件的目标路径应用映射。Published Artifacts的模式和映射语法类似于TeamCity所使用的构建构件。 |
自定义构建依赖项 |
允许您为发布的构件指定依赖模式,这些构件应该在运行构建之前从Artifactory下载。通过使用基于查询的解析,您可以对解析和下载哪些工件进行详细的控制,在工件路径中添加一个带有工件在下载之前应该具有的属性的查询。欲了解更多信息,请阅读这里的按属性解析。 |
从2.1.4版本开始,上述配置不向后兼容,您可能需要重新保存构建配置才能正常运行。
触发工件中的构建保留
您可以在向Artifactory发布构建信息时触发构建保留。
扫描构建与JFrog x射线
TeamCity Artifactory插件通过JFrog Artifactory与JFrog Xray集成,允许您扫描构建工件的漏洞和其他问题。如果发现问题或漏洞,您可以选择使构建作业失败。扫描结果的详细信息总是打印到构建日志中。这种集成需要JFrog Artifactory v4.16在这之上JFrog Xray v1.6及以上。
要使Xray扫描构建,您需要配置一个看使用正确的过滤器指定哪些工件和漏洞应该触发警报,并为该监视设置失败构建作业操作。您可以阅读更多关于使用Xray进行CI/CD集成的信息在这里。
将可搜索的参数附加到构建信息和发布的工件
在构建配置设置你可以选择参数定义应该附加到工件及其相应构建信息的系统属性或环境变量。
要定义参数,请单击添加新参数按钮。
填写相应的字段。
与通过Artifactory运行的构建相关的参数是:
buildInfo.property。*
-所有以这个前缀开头的属性都被添加到build-info的根属性中artifactory.deploy。*
-所有以此前缀开头的属性都附加到任何已部署的生成构件上
您可以在单个文件中指定所有属性,然后定义指向它的另一个属性。
要将插件指向属性文件,请定义一个属性buildInfoConfig.propertiesFile
并将其值设置为属性文件的绝对路径。
也可以将插件指向包含上述属性的属性文件。
属性文件应该位于运行构建代理的机器上,不在服务器上!
在Artifactory中浏览已发布的构建信息
如果你将你的构建步骤配置为将构建信息发布到Artifactory,你可以从构建运行视图直接链接到Artifactory中的构建信息:
根据工件的变化触发构建
该插件允许您设置一种新的触发器类型,定期轮询Artifactory,文件夹或单个文件中的路径。每当在轮询元素中检测到更改时,就会触发TeamCity构建。例如,当新的工件被部署到Artifactory中的指定路径时,可以触发构建。
需要Artifactory Pro
触发构建只适用于Artifactory Pro
要配置新的构建触发器,请参见管理,选择$ project_name | $ build_name。然后,选择触发器。
单击添加新的触发器按钮,选择人工构建触发器
选择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许可下可用。