【问题标题】:choose artifact from artifactory to deploy pipeline job in Jenkins从工件中选择工件以在 Jenkins 中部署管道作业
【发布时间】:2019-03-17 22:34:49
【问题描述】:

这可能吗?假设我有 2 份工作。一种用于构建工件并将其上传到最新版本的工件。以及将工件部署到服务器的另一项工作。但是我想选择神器版本。假设进行了部署但无法正常工作,因此我重新部署并选择了以前的工件(或我想要选择的工件)。这在詹金斯的管道项目中是否可行?像参数化构建或类似的东西。

谢谢

【问题讨论】:

  • 你是在使用一些 jenkins 插件还是只是 shell 执行?
  • 我已经安装了神器插件来上传/下载。但我想知道是否有办法在构建开始之前选择工件。使用 artifactor 插件,我相信下载或上传是在代码中。
  • 强制使用这个插件?
  • 如果您知道工件名称,您可以将其转换为参数并在您的第二份作业中传递。您可以从控制台输出或直接在您的从站中找到工件名称。
  • no JRichardsz 不是强制性的,但这是我知道的唯一方法。其他选项是什么?

标签: jenkins jenkins-pipeline artifactory


【解决方案1】:

它将与管道作业一起使用。我只是在管道工作。

示例:https://wiki.jenkins.io/display/JENKINS/Maven+Metadata+Plugin

  1. 假设您有 2 个工作。

  2. 作业 A 和作业 B。(两个管道作业。)

         Job A -> Build and push the artifacts to Artifactory. 
         Job B -> Fetch the artifact from Artifactory and deploy.
    
    1. 安装 Maven 元插件。 https://wiki.jenkins.io/display/JENKINS/Maven+Metadata+Plugin
    2. 转到工作 B
      1. “此构建已参数化”复选框,从出现的下拉列表中选择“列出 maven 工件版本”,
        配置要检索版本的工件
      2. 将参数命名为 deploy_version
    3. 在 Job B 中 -> 选择版本并单击 Build。
    4. 在管道脚本中接收所选版本作为 param.deploy_version。
    5. 既然您知道工件版本和工件 URL。您可以使用 Jenkisn 中的 CURL/httprequest 插件下载必要的
      来自 Artifactory 的神器(我正在使用 Maven Ansible 神器
      插件下载)
    6. 继续部署。

【讨论】:

  • 我正在使用 jenkins 管道项目,而不是 maven 项目,其中 mvn 命令在 groovy 脚本中执行,其中第一个工作的步骤之一是:mvn clean compile war:war。我正在寻找第二份工作,您可以手动选择基于第一份工作构建的工件。这可能吗?
  • 我猜你应该在第一个工作期间将工件构建推送到 Artifactory。在第二个作业中,配置上述内容以列出来自 artifactory/nexus 的工件。在第二个作业中,使用管道脚本接收选定的工件并再次拉取它以进行部署。
  • hmmm 这可以通过管道作业而不是 maven 实现吗?你说的关于 Maven 的链接:“JENKINS/Maven+Artifact+ChoiceListProvider+Plugin”
  • 我确实需要这个,但对于管道作业而不是 maven 作业
  • @yiyito - 我现在已经编辑了答案。希望现在清楚。
【解决方案2】:

根据这个答案:

https://stackoverflow.com/a/34781604/3957754

Jenkins 的 artifactory 插件可以选择“解决”工件,即从 Artifactory 下载它们。但这可能需要支付 $_$ 的 Pro 版本

使用 artifactory jenkins 插件下载 artifact (With Payment)

使用命令行和 maven 下载工件

来源:How can I download a specific Maven artifact in one command line?

【讨论】:

  • 如果你愿意,我们可以创建一个jenkins插件来简单的上传和下载工件
  • 这可能吗?正是我需要的
  • 首先,选择一种方法并尝试一下。如果它符合您的要求,我们可以开始创建插件(需要 Java 知识)。我将等待您的确认。
猜你喜欢
  • 1970-01-01
  • 2020-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-17
  • 1970-01-01
  • 2020-08-18
相关资源
最近更新 更多