Azure Pipelines yml帮助-了解我的yml文件以及为什么不进行部署

我真的是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任务是做什么的?我以为文件的这一部分是连续交付的部分,会自动将代码发布到我的Web应用程序中,但是这似乎没有发生,并且我意识到我不太了解“发布构建工件”的含义- Azure文档中的解释对我来说也没有太多启发。

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

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

chunweid 回答:Azure Pipelines yml帮助-了解我的yml文件以及为什么不进行部署

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

如果要进行连续交付,则要开始考虑创建一个使用构建输出并将其推出到Azure(或您希望将其发布到任何其他地方)的发行版。您可以使用multi-stage YAML pipelines在YAML中创建预览版本,也可以查看较旧的可视release pipelines

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

本文链接:https://www.f2er.com/3081759.html

大家都在问