我试图在两个条件中的任何一个之后触发CI中的特定工作
我的CI如前所述
job1:
stage: build
script:
- echo "JOb1"
- curl -X POST -F token=2342344444 -F "variables[TRIGGER_JOB]=job1" -F ref=master https://main.gitlab.myconmpanyxyz.com/api/v4/projects/1234/trigger/pipeline
only:
changes:
- job1.md
job2: # This does not RUN as expected because of the TRIGGER_JOB set to job1
stage: test
script:
- echo "Job2"
rules:
- if: $TRIGGER_JOB =="job2"
job3: # this RUNS as expected because of VARIABLE TRIGGER_JOB
stage: test
script:
- echo "Job3"
rules:
- if: $TRIGGER_JOB =="job1"
job4: # this also RUNS, but this should not be the expected behavior
stage: test
script:
- echo “job4“
rules:
- if: $TRIGGER_JOB == "xyz"
- changes:
- job4.md
job1完成后,还需要调用job4和没有其他任何作业(在这种情况下为job2)。所以我正在使用CURL来调用作业本身。如果在同一个配置项中有更好的调用特定作业的方法,也请告诉我。我已经看过this堆栈溢出页面,但是它无济于事,因为我的工作需要由gitlab-ci不允许的2 condition之一触发。
我需要通过以下两个条件之一来调用job4-如果TRIGGER_JOB ==“ job1”或文件中有任何[[job4.md中的更改]。当前,如果在job4.md文件中进行了更改,job4将运行,但是如果job1被触发,它也将运行。但是afaik这不应该是预期的行为。docs。任何人都可以给我一些如何创建这种设计的线索。
[我试图在同一管道中的另一个作业触发两个条件中的任何一个或更改后触发CI中的特定作业:somefile.txt我的CI如作业1所述:阶段:构建...