【问题标题】:Publish latest build artifact from "LOCAL" Jenkins to Azure DevOps Release Pipeline?将“本地”Jenkins 的最新构建工件发布到 Azure DevOps Release Pipeline?
【发布时间】:2019-03-29 02:41:22
【问题描述】:

我的一台备用计算机 (win10) 上运行着一个本地 Jenkins 服务器。请注意,它不在任何类型的服务器后面,因此仅在我的本地网络中可用。我已经对其进行了设置,以便它从我的远程 git 存储库中连续获取并构建工件并将它们存档以成功构建。我想将这些档案发布到我的 AzureDevops 发布管道。我该怎么做呢? (是的,我浏览了所有教程,但他们假设我让 Jenkins 在云上某处的 VM 上运行)。

到目前为止,我对网络上的教程并不满意,因为我没有这个 Jenkins 实例的 URL,因为它只在我的本地网络上可用。我不能真正在远程 Jenkins 服务器上构建这些工件,所以我真的只能使用这个解决方案来运行构建。

我希望在每次成功构建时都能在我的 Azure DevOps 发布管道中直接使用 Jenkins 构建的这些档案。感谢您的帮助!

【问题讨论】:

    标签: jenkins continuous-integration azure-devops jenkins-pipeline jenkins-plugins


    【解决方案1】:

    因此,由于没有其他人回答此问题,我将详细说明我最终做了什么(也许不是最好的方法,但它适用于我的设置,欢迎提出建议!)。

    要从本地计算机与 Azure DevOps 平台交互,您需要配置一个自托管代理(基于您的特定操作系统),这将允许您触发构建、存档并将构建工件上传到 Azure DevOps平台。这样您也不必轮询 SCM 更改(我认为有时这不是那么优雅)。

    1.因此,您需要按照此处为您的本地自托管代理进行的设置:

    注意:我已选择在 Windows 上将代理作为服务运行以进行设置

    2。接下来按照您通常的方式设置您的 Jenkins 构建作业,并使用您通常的 repo 访问设置。需要注意的事项如下:

    • 在“构建触发器”下,选择轮询 SCM 选项,但确保计划为空白,这将确保来自代理的提交后挂钩的触发器有效。示例设置如下所示:

    • 在“构建后操作”下,确保您正在按要求归档工件。示例如下:

    3.现在是时候设置项目的“Jenkins 服务连接”了,可以从 Azure DevOps 中项目视图左下方的“项目设置”选项卡访问。请注意,这基本上可以帮助您自托管代理找到本地运行的 Jenkins 实例(或其他网络可访问位置!)并与之通信。转到 Pipelines -> Service Connections 和 Jenkins 的新服务连接。请注意,这里的技巧是使用本地自托管代理所看到的连接 URL,这意味着它可以是代理可以正常访问的任何 IP(包括本地主机)。用户名和密码与您在 Jenkins 中设置的相同。示例如下:

    注意:您可以尝试执行“验证并保存”,但它会引发错误,因此请忽略该错误或直接“保存而不验证”。此外,您还必须为每个项目执行此操作,这与每台机器的自托管代理设置不同。

    4.现在您只需配置构建管道,将作业分配给正确的代理并指向正确的服务端点。现在,在您构建管道设置下,使用具有自托管代理的代理池,该代理可以访问您的构建服务器。并选择您刚刚在上述步骤中创建的 Jenkins 连接。其余设置与您通常设置项目的构建管道的方式相同。一个例子如下:

    注意:这里的关键是正确的“作业名称”(这应该与您在 Jenkins 构建服务器实例中设置的名称相同)和正确的“Jenkins 服务连接”。

    5.剩下的很简单,因为您现在需要确保您有一个步骤来“下载工件”(如果您不希望 DevOps 平台上的工件)和“发布工件”(这对于在您的詹金斯队列作业步骤之后,您的发布管道可以查看该构建工件并触发它)。确保设置正确的作业目录以从本地自托管代理下载。两个步骤的示例设置:

    注意:如果您在下载和发布路径方面遇到问题,请参阅此链接以了解自托管代理的预定义变量:https://docs.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops&tabs=yaml

    6.现在,在您的发布管道中,您应该能够从构建管道中添加工件源。示例如下:

    现在您应该可以在 Azure DevOps 平台上获取云中的本地工件,以防您因任何原因无法使用 Microsoft 提供的构建代理!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-27
      • 1970-01-01
      • 1970-01-01
      • 2021-05-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多