특정 순서로 Ansible 태그 호출

특정 순서로 Ansible 태그 호출

여러 셸 스크립트를 호출해야 하는 Ansible 작업이 있고 각 셸 스크립트에는 자체 레이블이 있습니다.

따라서 5개의 태그가 포함된 총 5개의 스크립트가 있습니다.

내 태그 1과 태그 2는 제거해야 하는 첫 번째 태그이며 그 다음에는 다음 3개의 태그만 실행하는 것이 의미가 있습니다. 누군가가 태그 3을 직접 실행하면 파이프라인이 실패하기를 원합니다. 태그 1과 2가 먼저 실행되어야 하는 태그 3,4, 5에 대한 종속성을 추가하려면 어떻게 해야 합니까?

조언해주세요.

내 현재 .yml파일은 다음과 같습니다.

- name: Task 1
      shell: "/tmp/1.sh -a {{ IN.1}} -b {{ IN.2 }}"
      register: Task1.sh
      tags: task1
- name: Task 2
      shell: "/tmp/2.sh -a {{ IN.2}} -b {{ IN.2 }}"
      register: Task2.sh
      tags: task2
.
.
.
.
- name: Task 5
      shell: "/tmp/5.sh -a {{ IN.1}} -b {{ IN.2 }}"
      register: Task5.sh
      tags: task5

답변1

대략적이지만 100% 해결 방법은 작업과 태그에 바인딩하는 대신 작업의 첫 번째 스크립트를 실행하는 명령을 추가하는 것입니다.

- name: Task 5
      shell: |
        /tmp/1.sh -a {{ IN.1}} -b {{ IN.2 }}
        /tmp/2.sh -a {{ IN.2}} -b {{ IN.2 }}
        /tmp/5.sh -a {{ IN.1}} -b {{ IN.2 }}
      register: Task5.sh
      tags: task5

관련 정보