重用天蓝色管道中其他作业的工作区

Nin*_*ari 5 continuous-integration yaml azure-devops azure-pipelines

嗨,我想将我的构建分成不同的工作。但是,当我在作业中安装东西时InstallsCertificats构建作业中的步骤无法找到以前作业中安装的东西。

是否可以重用之前作业中创建的工作区?更好的是使用不同的阶段,但我认为这是不可能的。

jobs:
- job: Certificats
  # install certificates

- job: Installs
  # npm install locally and globally

- job: Build Android
  dependsOn:
  - Certificats
  - Installs
  # Build Android

- job: Build Android
  dependsOn:
  - Certificats
  - Installs
  # Build IOS
Run Code Online (Sandbox Code Playgroud)

Dan*_*ann 6

简短的回答是“不,这是设计使然的”。

作业旨在被隔离,以便它们可以并行化。如果并行化,作业之间共享状态会导致竞争条件。

想想这个场景:您想要同时构建 Android 和 iOS。为此,您需要在不同的代理上运行每个作业。如果这些代理要求首先运行 NPM 安装,则必须在每个代理上运行 NPM 安装,而不是同时运行一次。