【问题标题】:Publish Artifacts task do not publish code on file share path发布工件任务不在文件共享路径上发布代码
【发布时间】:2019-11-18 21:01:24
【问题描述】:

发布工件任务配置为文件共享路径,但它没有发布任何代码抛出错误:

[错误]发布构建工件失败并出现错误:无法创建目录 '\INDLBCKPF1MXWMV\Publish\AshishVerma-ASP.NET

核心-CI\drop'。无法验证目录是否存在: '\INDLBCKPF1MXWMV\Publish\AshishVerma-ASP.NET Core-CI\drop'。如果 目录是文件共享,请验证共享名是否正确, 共享在线,当前进程有访问权限 分享。

【问题讨论】:

  • 您使用的是私人代理还是托管代理?
  • 嗨 Daniel Mann,我正在使用托管代理“Azure Pipelines”,在 Internet 上没有找到任何解决此错误的方法,请您帮帮我
  • @Ashish Verma 您是否尝试过以下答案?这个案例有什么更新吗?

标签: azure azure-devops


【解决方案1】:

您正在使用托管代理。托管代理无权访问您的本地网络。

将项目发布到 Azure DevOps,而不是文件共享。

【讨论】:

  • 好的,Daniel.... 是否可以为 Windows 创建私人代理,如果您可以建议我任何参考链接,这样对我来说会更好。
  • 我已经创建了用于将工件发布到共享位置的私有代理,但现在我在这里遇到不同的错误 - 发布构建工件失败并出现错误:EPERM: operation not allowed, stat '\\INDLBCKPF1MXWMV\Publish \Demo-ASP.NET Core-CI'
  • 您为什么决定发布到文件共享?您不需要这样做。发布到 Azure DevOps 要容易得多,而且没有缺点。
【解决方案2】:

您可以想到 Publishing build artifacts 任务实际上所做的是将您在 Path to publish 字段中定义的 artifacts 文件夹中的内容复制到 azure devops 服务器中的某个位置。

因此,您可以尝试使用 copy 任务将 artifacts 文件夹中的内容复制到您的共享文件路径。 有多个可用的复制任务。

例如:远程复制任务和Windows machine file copy任务。您可以将发布构建工件任务替换为复制任务之一。

希望以上内容对您有所帮助,祝您好运!

【讨论】:

  • 这些都不能解决实际问题,即托管代理无法访问本地资源。
  • 感谢 Daniel 和 Levi Lu-MSFT,我已经通过为 windows 操作系统创建私有代理并在发布管道中完成它,获取 Windows 机器文件副本以复制本地系统路径上的已发布代码。
  • @Ashish Verma 太好了,你解决了。您可以发布您的解决方案并接受它,以便遇到相同问题的其他人可以参考您的解决方案。
【解决方案3】:

我已通过在项目设置部分中创建 Windows OS 专用代理并输入新代理名称并按照 Azure 建议的步骤激活新创建的代理来完成它,如果它不会激活,那么它将显示为离线状态,否则它将显示为绿色状态。然后去CI管道配置构建过程,最后配置CD管道通过使用Windows机器文件复制任务将发布代码复制到本地系统路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多