9.2. 워크플로우 추가 변수


워크플로우에서는 설문 조사를 사용하여 워크플로우의 플레이북에서 사용할 extra_vars 라는 변수를 지정합니다. 설문 조사 변수는 워크플로우 작업 템플릿에 정의된 extra_vars 와 결합되고 워크플로우 작업 extra_vars 에 저장됩니다. 워크플로우 작업의 extra_vars 는 워크플로우 내에서 작업을 생성할 때 작업 템플릿 변수와 결합됩니다.

워크플로우는 세 개의 추가 변수를 제외하고 작업 템플릿과 동일한 변수 우선순위 동작(계층 구조)을 사용합니다. 작업 템플릿의 추가 변수 섹션에서 자동화 컨트롤러 변수 계층 구조를 참조하십시오. 세 가지 추가 변수는 다음과 같습니다.

  • 워크플로우 작업 템플릿 추가 변수
  • 워크플로우 작업 템플릿 설문 조사 (기본값)
  • 워크플로우 작업 시작 추가 변수

워크플로우에 포함된 워크플로우는 동일한 변수 우선 순위를 따르며 특별히 요청하거나 설문 조사의 일부로 정의된 경우에만 변수를 상속합니다.

워크플로우 extra_vars 외에도 워크플로우의 일부로 실행되는 작업과 워크플로우는 워크플로우에서 상위 작업의 아티팩트 사전의 변수를 상속할 수 있습니다(해당 분기의 상위 항목과도 결합). set_stats Ansible 모듈에서 정의할 수 있습니다.

플레이북에서 set_stats 모듈을 사용하는 경우 다른 작업에서 다운스트림을 사용할 수 있는 결과를 생성할 수 있습니다.

사용자에게 통합 실행의 성공 또는 실패에 대해 알립니다. 이 예제에는 아티팩트를 전달하도록 워크플로우에 결합할 수 있는 두 개의 플레이북이 있습니다.

  • invoke_set_stats.yml: 워크플로우의 첫 번째 플레이북:
---
- hosts: localhost
  tasks:
    - name: "Artifact integration test results to the web"
      local_action: 'shell curl -F "file=@integration_results.txt" https://file.io'
      register: result


    - name: "Artifact URL of test results to Workflows"
      set_stats:
        data:
          integration_results_url:  "{{ (result.stdout|from_json).link }}"
  • use_set_stats.yml: 워크플로우의 두 번째 플레이북:
---
- hosts: localhost
  tasks:
    - name: "Get test results from the web"
      uri:
        url: "{{ integration_results_url }}"
        return_content: true
      register: results


    - name: "Output test results"
      debug:
        msg: "{{ results.content }}"

set_stats 모듈은 이 워크플로우를 다음과 같이 처리합니다.

  1. 통합 결과의 콘텐츠가 웹에 업로드됩니다.
  2. 그러면 invoke_set_stats 플레이북을 통해 set_stats 가 호출되어 업로드된 integration_results.txt 의 URL을 Ansible 변수 integration_results_url 로 아티팩트합니다.
  3. 워크플로우의 두 번째 플레이북은 Ansible 추가 변수 integration_results_url 을 사용합니다. URI 모듈을 사용하여 이전 작업 템플릿 작업에서 업로드한 파일의 내용을 가져와서 웹을 호출합니다. 그런 다음 가져온 파일의 내용을 출력합니다.
참고

아티팩트가 작동하려면 set_stats 모듈에 기본 설정 per_host = False 를 유지합니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동