Azure devops 如何在VST上配置要FTP部署的构建

Azure devops 如何在VST上配置要FTP部署的构建,azure-devops,azure-pipelines-release-pipeline,Azure Devops,Azure Pipelines Release Pipeline,我想在更新项目的主分支时使用VST构建和部署我的应用程序(到FTP)。我有下面的脚本。它的工作原理是触发和构建,但由于找不到文件,而且我不知道输入什么值,所以无法部署。我得到下面的错误 当VSTS构建时,它将构建文件放在哪里 我看过youtube,但所有的例子都很老,不能反映VST现在是如何工作的,所以我完全被卡住了。这里没有反映VST目前工作方式的文章,Microsoft页面也没有帮助 我已经没有文章要看了,现在我猜得差不多了,所以如果有任何帮助,我将不胜感激 # ASP.NET Core

我想在更新项目的主分支时使用VST构建和部署我的应用程序(到FTP)。我有下面的脚本。它的工作原理是触发和构建,但由于找不到文件,而且我不知道输入什么值,所以无法部署。我得到下面的错误

当VSTS构建时,它将构建文件放在哪里

我看过youtube,但所有的例子都很老,不能反映VST现在是如何工作的,所以我完全被卡住了。这里没有反映VST目前工作方式的文章,Microsoft页面也没有帮助

我已经没有文章要看了,现在我猜得差不多了,所以如果有任何帮助,我将不胜感激

# ASP.NET Core
# Build and test ASP.NET Core projects targeting .NET Core.
# Add steps that run tests, create a NuGet package, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core

trigger:
- master

pool:
  vmImage: 'ubuntu-latest'

variables:
  buildConfiguration: 'Release'

steps:
- script: dotnet build --configuration $(buildConfiguration)
  displayName: 'dotnet build $(buildConfiguration)'

- task: FtpUpload@2
  inputs:
    credentialsOption: 'inputs'
    serverUrl: 'ftp://xxxxxxx.xxxxxxxx.xxxxx/'
    username: 'xxxxxxxxx'
    password: 'xxxxxxxxxx'
    rootDirectory: '/'
    filePatterns: '**'
    remoteDirectory: '/'
    clean: false
    cleanContents: true
    preservePaths: false
    trustSSL: false
我换了这个

rootDirectory: $(Agent.BuildDirectory)
我试过这个

rootDirectory: $(Build.StagingDirectory)
现在构建成功了,但是现在我得到了这个错误/警告。没有部署任何内容


当您设置
system.debug=true
,然后打开日志了解详细的编译过程时,您可以看到:

它正在查找您在任务中指定的目录“
/
”。但不幸的是,通过
/
获得的内容不属于回购协议的任何部分。然后服务器告诉您很抱歉,在您的repos中找不到这样的文件或目录

此参数用于从VSTS repos获取文件或文件夹,所以这里您需要使用一些词语让服务器知道您希望从repos获取什么


(1)由于此任务在您的构建管道中,您可以使用它来表示整个回购

(2)此外,如果您只想复制部分回购协议,如文件夹或文件,只需输入相对路径即可。例如:

  • 上传文件夹
    jobs
    下的文件
    Upload.json
    ,只需 输入
    rootDirectory:jobs/upload.json
  • 上传一个文件夹或文件,它位于Repos的根路径中,只需输入
    rootDirectory:{folder name}
    ,或
    rootDirectory:{folder name}
    。比如:
    rootDirectory:jobs
    ,或者
    rootDirectory:web.config

当您设置
system.debug=true
,然后打开日志了解详细的编译过程时,您可以看到:

它正在查找您在任务中指定的目录“
/
”。但不幸的是,通过
/
获得的内容不属于回购协议的任何部分。然后服务器告诉您很抱歉,在您的repos中找不到这样的文件或目录

此参数用于从VSTS repos获取文件或文件夹,所以这里您需要使用一些词语让服务器知道您希望从repos获取什么


(1)由于此任务在您的构建管道中,您可以使用它来表示整个回购

(2)此外,如果您只想复制部分回购协议,如文件夹或文件,只需输入相对路径即可。例如:

  • 上传文件夹
    jobs
    下的文件
    Upload.json
    ,只需 输入
    rootDirectory:jobs/upload.json
  • 上传一个文件夹或文件,它位于Repos的根路径中,只需输入
    rootDirectory:{folder name}
    ,或
    rootDirectory:{folder name}
    。比如:
    rootDirectory:jobs
    ,或者
    rootDirectory:web.config

您不会将任何内容复制到“$(build.stagingdirectory)”,因此不会有任何内容需要上载。您必须添加一个复制任务或指向项目的生成输出,而不是只想检查下面的方法是否可以帮助您捕获成功管道。如果对您的问题没有帮助,请随时在下面留下评论:-)手动,我可以发布到本地文件夹,然后压缩/解压到我的主机。我所希望的是,当VSTS进行构建时,它会将文件放在发布位置的某个文件夹(类似)中,然后我可以添加一个任务或其他内容来执行复制位。我只是不知道如何或在哪里发布的文件古凯,似乎已经知道你的麻烦。在这个问题上,您面临的困惑是在
dotnet构建
步骤完成后,不知道文件/文件夹会去哪里吗?然后,您在
rootDirectory
上被误导了?您没有将任何内容复制到“$(build.stagingdirectory)”,因此不会有任何内容需要上载。您必须添加一个复制任务或指向项目的生成输出,而不是只想检查下面的方法是否可以帮助您捕获成功管道。如果对您的问题没有帮助,请随时在下面留下评论:-)手动,我可以发布到本地文件夹,然后压缩/解压到我的主机。我所希望的是,当VSTS进行构建时,它会将文件放在发布位置的某个文件夹(类似)中,然后我可以添加一个任务或其他内容来执行复制位。我只是不知道如何或在哪里发布的文件古凯,似乎已经知道你的麻烦。在这个问题上,您面临的困惑是在
dotnet构建
步骤完成后,不知道文件/文件夹会去哪里吗?那么,你在
rootDirectory
上得到的这条线索被误导了?我不想要who回购。我只需要在应用程序构建时创建的文件的位置,以便将它们传输到webserver@djack109,我想确认一下我能给你什么帮助吗?如果这个答案对你有用,你可以接受它,这将有利于其他社区。我不想要who回购协议。我只需要在应用程序构建时创建的文件的位置,以便将它们传输到webserver@djack109,我想确认一下我能给你什么帮助吗?如果这个答案对你有用,你可以接受它,这将有利于其他社区。