当前位置: 首页 > 知识库问答 >
问题:

Jenkins管道中作为构建后操作的人工制品

楚乐逸
2023-03-14

我有一个Jenkins的工作来构建我的maven项目。完成后,它会执行一个“构建后操作”,使用ArtiFactory插件将Maven工件部署到ArtiFactory。

现在我把这份工作变成了詹金斯的管道。这看起来像这样:

        def artifactoryMaven = Artifactory.newMavenBuild()
        artifactoryMaven.tool = 'maven' 
        artifactoryMaven.deployer releaseRepo:'libs-releases', snapshotRepo:'libs-snapshots', server: server
        artifactoryMaven.resolver releaseRepo:'libs-releases', snapshotRepo:'libs-snapshots', server: server

        artifactoryMaven.run pom: 'pom.xml', goals: goals, buildInfo: buildInfo

但是我更喜欢之前的方法,在这种方法中,构建和部署是独立的。有简单的方法吗?“普通”构件只需要一个复选框(部署maven构件),所以我希望是一行。或者,我想我可以使用上传规范?但是我希望尽可能避免这种情况。

非常感谢您的帮助。

共有1个答案

勾喜
2023-03-14

您可以将以下代码添加到您的Pipeline脚本中,以确定您的maven工件是否部署到ArtiFactory:

def部署ToArtiFactory=false rtMaven.deployer.deploy工件(部署ToArtiFactory)

 类似资料:
  • 我们现在正在试验多分支管道构建。该功能的主要优点是,它允许我们在创建新分支时自动创建新的Jenkins工作。 然而,它也比选择如何使用用户界面进行构建的旧方法更难实现。另外,某些功能似乎丢失了。 例如,在Jenkins Freestyle作业中,我们可以使用Jenkins UI浏览工作区,下载单个文件,甚至删除工作区。我们发现,当构建出错或开发人员需要未归档的特定构建资产时,这一点很有用。 我注意

  • 问题内容: 我正在将jenkins- workflow作业迁移到新的基于模板的工作流作业。因为内部版本号用作构建工件版本的一部分,所以工作流必须生成新的工作流的内部版本号,而该数字应大于旧的工作流。不幸的是,“下一个内部版本号”插件不适用于工作流管道。 有人知道这样做的好方法吗? 问题答案: 尝试在Jenkins脚本控制台中的脚本下面运行。将“ workFlow”更改为您的工作名称

  • 问题内容: 我们正在运行Jenkins 2.x,并且喜欢新的Pipeline插件。但是,由于存储库中有如此多的分支,因此磁盘空间会迅速填满。 是否有任何与Pipeline兼容的插件,我可以在成功构建后清除工作空间? 问题答案: 您可以将其用作管道Jenkinsfile的最后一步(假设您没有更改工作目录)。

  • 在Jenkins管道中,当在特定节点上运行构建时,会在该代理上分配工作区。我们没有设置工作区路径,所以它是自动确定的。我知道工作区必须包含执行程序编号,以便在同一代理上同时运行相同作业时隔离构建。 但是工作区路径是如何构造的? 我们的构建被分配给一个特定的节点(有4个执行器),并且被配置为不允许并发构建。通常分配给: 在某个时刻,构建开始在executor 2上运行,但仍然使用与以前相同的工作区。

  • 我正在尝试从管道中自动创建Jenkins管道构建。 我有一个管道,它创建一个比特桶存储库并向其提交一些代码,包括一个Jenkinsfile。 我需要向此管道添加另一个步骤,然后为其创建管道生成,这将运行 Jenkinsfile 中的步骤。 我认为Jobs DSL应该能够处理这一点,但我找到的文档非常稀少,我仍然不完全确定是否有可能或如何做到这一点。 任何帮助都将不胜感激。我想生成的Pipeline

  • 我使用Jenkins和Build Pipeline插件来构建一些相当复杂的项目,这些项目需要多个编译步骤: 构建源RPM。 构建二进制RPM(这是执行两次,一次为每个平台)。 部署到YUM仓库。 我解决构建需求的策略包括将公共工作拆分为参数化作业,这些作业可以跨项目和分支重用,每个作业代表管道中的一个阶段。每个阶段都由参数触发,并将构建工件传递给管道中的下一个作业。然而,我在这个策略上遇到了一些麻