Azure Pipelines yml 帮助 - 了解我的 yml 文件及其未部署的原因

Azure Pipelines yml help - understanding my yml file and why it isn't deploying

我是 Azure DevOps 的新手,正在尝试为我的项目配置 Azure 管道。

目前我的 .yml 文件如下所示:

trigger:
- my-test-branch

pool:
  vmImage: 'ubuntu-latest'

variables:
  buildConfiguration: 'Release'

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

- task: DotNetCoreCLI@2
  displayName: 'dotnet test $(buildConfiguration)'
  inputs:
    command: test
    projects: '**/*Tests/*.csproj'
    arguments: '--configuration $(buildConfiguration)'

- task: DotNetCoreCLI@2
  displayName: 'dotnet publish $(buildConfiguration)'
  inputs:
    command: publish
    publishWebProjects: True
    arguments: '--configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)'
    zipAfterPublish: True

- task: PublishBuildArtifacts@1
  displayName: 'publish artifacts'
  inputs: 
    pathtoPublish: '$(build.artifactstagingdirectory)'

我已经设法从各种来源将它整合在一起,现在作为一个成功的构建管道工作,因为它构建了我的项目,运行 NUnit 测试并基于此通过或失败。我对此有几个问题:

  1. PublishBuildArtifacts任务是做什么用的?我认为文件的这一部分是持续交付部分,会自动将我的代码发布到我的网络应用程序,但似乎这并没有发生,我意识到我并不真正理解 "Publish Build Artifacts" - Azure 文档中的解释对我来说也没有真正阐明它。

  2. 从1开始,如何配置持续交付?我有一个 Web 应用程序,希望我的代码在测试通过后自动部署到那里。

  3. trigger分支的作用是什么?为了澄清,我将解释我的项目的结构:我有 master 分支,一个 develop 分支(分支出 master)和 my-test-branch 分支出 develop。如果我希望代码从 my-test-branch 自动部署到 develop(如果所有测试都通过),有没有办法配置它?还是必须作为拉取请求完成?

PublishBuildArtifacts 任务只是将您在构建中创建的任何工件发布为构建的工件。这只是意味着它们在构建信息的工件选项卡中可用,其他构建或发布可以根据需要使用这些工件,这与发布到 Azure 无关。

如果您想进行持续交付,那么您想要开始考虑创建一个版本,该版本使用您构建的输出并将其推送到 Azure(或您希望它去的任何其他地方)。您可以看看使用 multi-stage YAML pipelines to create releases in YAML, which are in preview, or you can look at the older visual release pipelines.

您列出的触发器意味着对该分支的任何提交都会导致此管道 运行,但对 master 或 develop 的任何提交都不会。