【问题标题】:Setting up sourcepath for deploy task on azure devops在 azure devops 上为部署任务设置源路径
【发布时间】:2019-11-22 15:16:28
【问题描述】:

这是我的第一个管道,所以我确信我错过了一些非常简单的东西。

我创建并成功运行了一个 azure 管道。 现在我想创建一个版本并将其传输到我的 ftp 服务器,所以我创建了一个版本,将它连接到构建工件,然后添加一个阶段。

在舞台上,我添加了一个 ftp 任务来上传版本。 问题是我应该在根字段上设置什么。我尝试了很多东西,但没有一个有效。 我使用浏览窗口设置值,但指向无效位置。我尝试了很多变化,但都没有成功。

这是 yml:

steps:
- task: FtpUpload@2
  displayName: 'FTP Upload: /'
  inputs:
    credentialsOption: inputs
    serverUrl: '*****'
    username: ****
    password: '*****'
    rootDirectory: /
    remoteDirectory: '/azure/$(Build.BuildId)/'

这是日志:

2019-11-22T15:14:43.8429924Z ##[section]开始:FTP上传: $(System.DefaultWorkingDirectory)/_AzureTP-ASP.NET Core (.NET 框架)-CI 2019-11-22T15:14:44.0673529Z ==================================================== ============================= 2019-11-22T15:14:44.0673684Z 任务:FTP上传 2019-11-22T15:14:44.0673747Z 描述:使用 FTP 上传文件 2019-11-22T15:14:44.0673783Z 版本:2.157.0 2019-11-22T15:14:44.0673817Z 作者:微软公司 2019-11-22T15:14:44.0673852Z 帮助: https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/ftp-upload 2019-11-22T15:14:44.0673903Z ==================================================== ============================= 2019-11-22T15:14:44.6355305Z ##[错误]错误:ENOENT:没有这样的文件或者 目录,stat 'D:\a\r1\a_AzureTP-ASP.NET Core (.NET Framework)-CI'

ENOENT: 没有这样的文件或目录,stat 'D:\a\r1\a\$(Build.SourcesDirectory)'

【问题讨论】:

  • 您有机会尝试以下答案吗?请让我知道进展如何?我们可以一起讨论并制定更好的解决方案。
  • 我之前通过在根文件夹字段上使用导航解决了问题。该文件以值 ´$(System.DefaultWorkingDirectory)/_AzureTP-ASP.NET Core-CI/drop/ConsoleApp.zip.´ 结尾
  • 但是我也尝试了您的解决方案。它有效。

标签: azure azure-devops devops


【解决方案1】:

根目录应该指向构建工件所在的文件夹。在发布管道中,构建工件通常下载到文件夹C:\agent\_work\r1\a,该文件夹由$(System.DefaultWorkingDirectory) or $(System.ArtifactsDirectory) 引用。可以查看发布变量here

下面是 yaml 的例子。希望对你有帮助

steps: - task: FtpUpload@2 displayName: 'FTP Upload: /' inputs: credentialsOption: inputs serverUrl: '*****' username: **** password: '*****' rootDirectory: '$(System.DefaultWorkingDirectory)' filePatterns: '**' remoteDirectory: '/azure/$(Build.BuildId)/'

【讨论】:

    【解决方案2】:

    版本的上下文中不存在构建变量。您正在尝试使用构建变量。请参阅“predefined variables”文档,您的版本的变量选项卡上提供了指向该文档的链接。

    【讨论】:

    • 看起来应该是 Build.BinariesDirectory 变量,但是使用 $(Build.BinariesDirectory) 设置字段返回错误:错误:ENOENT:没有这样的文件或目录,stat 'C:($Build.二进制目录)\'。接缝是语法错误,我遵循示例。
    • @MiguelSlv 这是一个 build 变量。正如我的回答所述,版本中不存在构建变量。请参阅我提供的文档以查找 release 变量。
    猜你喜欢
    • 2020-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-07
    • 1970-01-01
    • 2022-10-04
    相关资源
    最近更新 更多