热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

应该为神器插件激活什么构建步骤?-Whatbuildstepshouldtheartifactorypluginbeactivatedfor?

ImusingtheArtifactorypluginforTeamCitytostoreartifactsfromourbuilds.Theplugin,howeve

I'm using the Artifactory plugin for TeamCity to store artifacts from our builds. The plugin, however, does some things that seem to me to be quite odd, and not TeamCity-ish at all.

我正在使用TeamCity的Artifactory插件来存储构建中的工件。然而,插件做了一些在我看来很奇怪的事情,而不是TeamCity-ish。

The plugin adds a new section to the settings for each build step in my build configuration. This section allows me to specify artifacts to be stored in Artifactory. What is odd, however, is that these settings are particular to each build step; this means that if my build has two build steps, and I set up the first build step to store artifacts, and then view the settings for the second build step, the plugin will not appear to be configured there.

该插件为我的构建配置中的每个构建步骤的设置添加了一个新部分。本节允许我指定要存储在Artifactory中的工件。然而,奇怪的是,这些设置对于每个构建步骤都是特定的;这意味着如果我的构建有两个构建步骤,并且我设置了第一个构建步骤来存储工件,然后查看第二个构建步骤的设置,那么该插件似乎不会在那里配置。

Further confusing the issue is that the documentation specifies that the plugin works with "most" build runner types, and lists several examples: "Maven2, Maven 3, Ivy/Ant (with Ivy modules support), Gradle , NAnt, MSBuild, FxCop and Ipr."

进一步混淆问题的是文档指定插件使用“大多数”构建运行器类型,并列出了几个示例:“Maven2,Maven 3,Ivy / Ant(支持常春藤模块),Gradle,NAnt,MSBuild,FxCop和知识产权“。

My question is, then, which build step should I configure Artifactory for? What if I configure it for a build step that isn't on the list of "working" build runners? Why does the plugin allow/require me to configure it multiple times?

我的问题是,我应该为Artifactory配置哪个构建步骤?如果我将其配置为不在“工作”构建运行器列表中的构建步骤,该怎么办?为什么插件允许/要求我多次配置它?

It seems to me that the Artifactory plugin should instead add a new build runner, i.e. "Deploy artifacts to Artifactory", which would give me one supported place to configure it.

在我看来,Artifactory插件应该添加一个新的构建运行器,即“将工件部署到Artifactory”,这将给我一个支持的位置来配置它。

1 个解决方案

#1


3  

The TeamCity Artifactory Plugin indeed allows you to attach artifacts deployment, as part of specific steps, instead of the approach of providing one deployment step. One of the reasons for this implementation is to allow different deployment methods, depending on the build tool or technology you're using. For example, when using Gradle, the Artifactory Plugin uses Gradle's APIs deploy the artifacts, thus providing a native method for deployment.

TeamCity Artifactory插件确实允许您附加工件部署,作为特定步骤的一部分,而不是提供一个部署步骤的方法。这种实现的原因之一是允许不同的部署方法,具体取决于您使用的构建工具或技术。例如,使用Gradle时,Artifactory Plugin使用Gradle的API部署工件,从而提供本机部署方法。

Another reason is more flexibility in terms of when in your workflow the deployment should occur. In the common scenario, you'd like your artifacts to be deployed to Artifactory at the end of the build, but that is not always the case. Sometimes you'd like one step, for example a command line step, to run a script that performs a specific job, that results in specific artifacts deployed and tagged in Artifactory. Then you'd like a second step, to consume those artifacts as dependencies and deploy new artifacts to Artifactory. I guess that adding an additional "Artifactory Deployment" step is possible and this is something that can be added in the future. JFrog CLI has become very popular recently and can be easily embedded as a command line step to download, upload and publish build-info to Artifactory.

另一个原因是在工作流程中何时应该进行部署时具有更大的灵活性。在常见的场景中,您希望在构建结束时将您的工件部署到Artifactory,但情况并非总是如此。有时,您需要执行一个步骤(例如命令行步骤)来运行执行特定作业的脚本,从而导致在Artifactory中部署和标记特定工件。然后,您需要第二步,将这些工件作为依赖项使用,并将新工件部署到Artifactory。我想可以添加一个额外的“Artifactory Deployment”步骤,这可以在将来添加。 JFrog CLI最近变得非常流行,可以轻松嵌入作为命令行步骤,下载,上传和发布构建信息到Artifactory。

So to answer your question as for which build step you should use with Artifactory, this is up to you and your needs. There are many ways you can plan your build pipeline to work, and I think you should go for the way that makes the most sense for your workflow. I hope this answers your question.

因此,要回答您关于应该使用Artifactory的构建步骤的问题,这取决于您和您的需求。您可以通过多种方式规划构建管道,并且我认为您应该采用最适合您工作流程的方式。我希望这回答了你的问题。


推荐阅读
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • Postgresql备份和恢复的方法及命令行操作步骤
    本文介绍了使用Postgresql进行备份和恢复的方法及命令行操作步骤。通过使用pg_dump命令进行备份,pg_restore命令进行恢复,并设置-h localhost选项,可以完成数据的备份和恢复操作。此外,本文还提供了参考链接以获取更多详细信息。 ... [详细]
  • 使用圣杯布局模式实现网站首页的内容布局
    本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ... [详细]
  • 本文介绍了关系型数据库和NoSQL数据库的概念和特点,列举了主流的关系型数据库和NoSQL数据库,同时描述了它们在新闻、电商抢购信息和微博热点信息等场景中的应用。此外,还提供了MySQL配置文件的相关内容。 ... [详细]
  • Python的参数解析argparse模块的学习
    本文介绍了Python中参数解析的重要模块argparse的学习内容。包括位置参数和可选参数的定义和使用方式,以及add_argument()函数的详细参数关键字解释。同时还介绍了命令行参数的操作和可接受数量的设置,其中包括整数类型的参数。通过学习本文内容,可以更好地理解和使用argparse模块进行参数解析。 ... [详细]
  • 本文介绍了禅道作为一款国产开源免费的测试管理工具的特点和功能,并提供了禅道的搭建和调试方法。禅道是一款B/S结构的项目管理工具,可以实现组织管理、后台管理、产品管理、项目管理和测试管理等功能。同时,本文还介绍了其他软件测试相关工具,如功能自动化工具和性能自动化工具,以及白盒测试工具的使用。通过本文的阅读,读者可以了解禅道的基本使用方法和优势,从而更好地进行测试管理工作。 ... [详细]
  • 本文概述了JNI的原理以及常用方法。JNI提供了一种Java字节码调用C/C++的解决方案,但引用类型不能直接在Native层使用,需要进行类型转化。多维数组(包括二维数组)都是引用类型,需要使用jobjectArray类型来存取其值。此外,由于Java支持函数重载,根据函数名无法找到对应的JNI函数,因此介绍了JNI函数签名信息的解决方案。 ... [详细]
  • 本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ... [详细]
  • 本文介绍了利用ARMA模型对平稳非白噪声序列进行建模的步骤及代码实现。首先对观察值序列进行样本自相关系数和样本偏自相关系数的计算,然后根据这些系数的性质选择适当的ARMA模型进行拟合,并估计模型中的位置参数。接着进行模型的有效性检验,如果不通过则重新选择模型再拟合,如果通过则进行模型优化。最后利用拟合模型预测序列的未来走势。文章还介绍了绘制时序图、平稳性检验、白噪声检验、确定ARMA阶数和预测未来走势的代码实现。 ... [详细]
  • Introduction(简介)Forbeingapowerfulobject-orientedprogramminglanguage,Cisuseda ... [详细]
author-avatar
rvu2352314
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有