I'm trying to figure how to dynamically create a dependency and run the job based on the condition.
Here is the structure of my pipeline:
main.yaml:
stages:
- stage: build
jobs:
- template: build.yaml
- stage: deployDev
dependsOn: build
jobs:
- template: deployApp1.yaml
parameters:
environmentName: Dev
- template: deployApp2.yaml
parameters:
environmentName: Dev
- stage: deployQA
dependsOn: deployDev
jobs:
- template: promote.yaml
parameters:
environmentName: QA
- template: deployApp1.yaml
parameters:
environmentName: QA
- template: deployApp2.yaml
parameters:
environmentName: QA
promote.yaml
jobs:
- job: copy
steps:
- task:
deployApp1.yaml
jobs:
-job: deployApp1
steps:
- task:
deployApp2.yaml
jobs:
- job: deployApp2
steps:
- task:
In deployQA i have a separate job which copies the build artifacts and the next two jobs (deployApp1 and deployApp2) will fail without the copy step in deployQA.
I would like to create a conditional dependency on job: copy for job: deployApp1 so that it should be able to skip if i'm deploying to Dev which doesn't have this dependency. I already tried different solutions from different posts without any luck.
I know if i can add additional stage for the copy that would solve my problem but i would like to have the copy as part of the QA stage.