Azure管道-执行容器中的一个阶段



我们的组织已开始迁移到Azure。我们有Azure管道模板,它在vmImage: 'ubuntu-18.04'上运行签出、构建和部署阶段。我们的计划是引入"测试">阶段,并在Container中运行测试。

问题:

  • 当整个管道在vmImage上运行时,是否可以在Container中运行其中一个阶段(Test(
  • 如何从vmImage复制构建工件以在Container中运行测试

有人能解释一下吗?

非常感谢!

当整个管道都在vmImage上运行时,是否可以在Container中运行其中一个阶段(Test(?

在Azure Devops-Yaml管道中,您可以在作业级别指定container

然后作业可以在目标容器上运行。

这是一份关于详细信息的文档。

如何从vmImage复制构建工件以在Container中运行测试?

在前一阶段,您可以使用Publish Build Artifacts task发布构建工件。

在阶段(在容器中运行作业(中,可以使用Download Build Artifacts任务将工件下载到容器中。

最后,您可以添加测试步骤

这是我的样品:

resources:
containers:
- container: python
image: python:3.8
trigger:
- none

stages:
- stage: artifacts
pool:
vmimage:  ubuntu-latest
jobs:
- job: test123
steps:
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.Sourcesdirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
- script: echo $(System.ArtifactsDirectory)
- stage: testcontainer
jobs:
- job: test123
container:  python

steps:
- task: DownloadBuildArtifacts@0
inputs:
buildType: 'current'
downloadType: 'single'
artifactName: 'drop'
downloadPath: '$(System.ArtifactsDirectory)'
- script: |
echo $(System.ArtifactsDirectory)
displayName: 'Run a multi-line script'

注意:容器映像来自Docker Hub、Azure container Registry或其他专用容器注册表。

相关内容

  • 没有找到相关文章

最新更新