我正在尝试创建两个用于与API集成的管道模板,该模板1)安装应用程序2)将应用程序部署到该API管理的某些设备。安装模板处理安装并获取部署模板部署应用程序将需要的应用程序ID。以后无法查询API来获取应用程序ID,因此我必须使其可用于安装模板,以供稍后由部署模板使用。安装任务将被调用一次,但是对于不同的设备“环”,可以多次调用部署任务。
我需要支持以下场景,其中部署模板可以在当前阶段同时依赖于一个作业,而在以后阶段可以依赖于同一作业。
stages:
- stage: NonProd
jobs:
- template: install.yml@pipeline_template
- template: deploy.yml@pipeline_template
- stage: Prod
dependsOn: NonProd
jobs:
- template: deploy.yml@pipeline_template
我读到我们现在可以here创建这些类型的依赖关系,但是可以将依赖关系设置为来自上一个阶段还是来自先前的工作?
我考虑过将它们组合成一个模板,但是不幸的是,如果已经存在相同版本的应用程序,则安装步骤将不会提供应用程序ID,只是一个错误。
答案 0 :(得分:1)
根据5/4 Jobs can access output variables from previous stages
中的更新当前,您可以基于前一阶段中设置的输出变量的值来指定该阶段运行。
在舞台条件下使用。
但是可以将依赖项设置为来自 之前的阶段还是以前的工作?
您不能直接依赖另一个阶段的工作。
但是,在一个阶段中定义多个作业时,可以指定它们之间的依赖关系。管道必须至少包含一个没有依赖关系的作业。
此外,您还可以将一个阶段依赖于其他阶段。