我们可以将作为 jenkins 管道的一部分创建的 aritfacts (.jar/.zip) 上传到 Azure Devops 吗?

Can we upload aritfacts (.jar/.zip) created as part of jenkins pipeline to Azure Devops?

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

当前设置:

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

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

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

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

所需设置:

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

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

我对 Azure Devops 还很陌生。请帮助我了解上述要求是否可行,如果可以,如何实现。抽象步骤列表将有很大帮助。我会处理它们。

我怀疑您想要将文件存储在版本控制中...对吧?因为,就像@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 存储库。

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

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

然后你可以初始化一个空的azure repo。单击项目名称旁边的 + 和 select New Repository

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

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

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

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

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