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 测试并基于此通过或失败。我对此有几个问题:
PublishBuildArtifacts
任务是做什么用的?我认为文件的这一部分是持续交付部分,会自动将我的代码发布到我的网络应用程序,但似乎这并没有发生,我意识到我并不真正理解 "Publish Build Artifacts" - Azure 文档中的解释对我来说也没有真正阐明它。
从1开始,如何配置持续交付?我有一个 Web 应用程序,希望我的代码在测试通过后自动部署到那里。
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 的任何提交都不会。
我是 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 测试并基于此通过或失败。我对此有几个问题:
PublishBuildArtifacts
任务是做什么用的?我认为文件的这一部分是持续交付部分,会自动将我的代码发布到我的网络应用程序,但似乎这并没有发生,我意识到我并不真正理解 "Publish Build Artifacts" - Azure 文档中的解释对我来说也没有真正阐明它。从1开始,如何配置持续交付?我有一个 Web 应用程序,希望我的代码在测试通过后自动部署到那里。
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 的任何提交都不会。