【问题标题】:Can we upload aritfacts (.jar/.zip) created as part of jenkins pipeline to Azure Devops?我们可以将作为 jenkins 管道的一部分创建的 aritfacts (.jar/.zip) 上传到 Azure Devops 吗?
【发布时间】:2019-12-24 16:28:47
【问题描述】:

我正在开展一个项目,该项目需要我将工件的存储从 PVCS 迁移到 Azure Devops。 (问题陈述是这样提供的)

当前设置:

Jenkins Pipeline 从 PVCS 中创建的文件夹(每个内部版本号唯一)中获取 master.xls 文件,并根据手动输入 master.xls 的数据,与 Pega DB 交互并创建工件(Rules.Zip )。

为了与 PEGA DB 交互,Jenkins 作业执行了一些 Java 程序并执行了一些批处理和 ant 脚本。 ant 脚本生成工件。

最后,它将该工件存储在最初使用空 master.xls 文件创建的同一个 PVCS 文件夹中。

Jenkins 正在使用 PCLI 命令与 PVCS 交互,这些命令将由 Jenkins 作业运行的 Java 程序执行。

所需设置:

PVCS 需要替换为 Azure Devops,即 Jenkins Pipeline 应该能够执行以下操作:

  1. 在 Azure Devops 中创建一个包含空 master.xls 的文件夹
  2. 手动更新 master.xls 后,管道应该像往常一样与 Pega DB 交互,并将由此创建的工件存储到 Azure Devops 中。

我对 Azure Devops 很陌生。请帮助我了解上述要求是否可行,如果可以,如何实现。一个抽象步骤的列表会很有帮助。我会努力的。

【问题讨论】:

  • 查看通用工件提要。
  • @Manish Golla 好几天没有收到您的回复,请您分享您关于此问题的最新信息吗?您现在可以存储工件吗?如果您有任何疑问,请随时在此处分享。

标签: java jenkins azure-devops devops pvcs


【解决方案1】:

在 azure devops 管道中有 Jenkins Download Artifacts 任务,您可以使用它来将工件从 Jenkins 管道下载到 azure devops 管道。

首先,您需要在您的 azure devops 项目中创建 Jenkins service connection。 打开项目设置页面下的服务连接页面,选择新建服务连接并选择Jenkins

然后你可以初始化一个空的azure repo。点击项目名称旁边的 + 并选择 New Repository

然后您需要创建一个build pipeline,选择您的 azure repo 作为源代码的位置。下面的示例是在经典视图中(选择使用经典编辑器创建经典视图构建管道)。

然后选择从一个空作业开始来创建一个空的构建管道

启动管道后,您可以添加 Jenkins 下载工件任务以从 Jenkins 管道下载工件。 您可以将命令行任务添加到管道中的run git command,以提交工件并将其推送到您的 azure 存储库。

您还可以添加 Publish build artifacts 任务以将工件发布到 azure devops 管道服务器。

Here 是有关如何将 Jenkins 与 azure devops 集成的更多信息。

【讨论】:

    【解决方案2】:

    我怀疑您希望将文件存储在版本控制中...对吗?因为,就像@DanielMann 建议的那样,您可以将文件作为构建工件或作为工件提要中的包附加。您可以使用 Azure CLI + DevOps 扩展与包源进行交互:

    如果要存储在版本控制中... Azure DevOps、Git 或 TFVC 中选择了哪种版本控制?

    如果 TFVC,您可以使用 jenkins 的 tf.exe 或 set of tasks for Azure Pipelines 将工件存储在 TFVC 中。

    如果 Git,您可以在 jenkins 和 Azure Pipelines 中使用 git.exe 来添加、提交和推送更改到 Git 存储库。

    【讨论】:

    • 谢谢@jessehouwing,是的,我希望将 .jar 文件存储在 Azure Repos 中。想知道这是否可能。如果不是,Azure 中还有其他地方可以存放 Artifact 吗?该工件不是由 azure 管道产生的。它是由运行 master 的机器上的 jenkins 管道创建的。
    • Azure Repos 是 Git 或 TFVC,两者都有命令行工具。每个 Artifact 提要都解释了如何将数据推送到其中并提供指向相应工具的链接。
    • 非常感谢@jessehouwing。我会调查的。
    • 如果您有更具体的问题,请编辑此问题并给我发送 ping,或关闭此问题,询问新问题并给我发送 ping。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-27
    • 1970-01-01
    • 2020-11-27
    相关资源
    最近更新 更多