Documentation

23. 워크플로우 작업 템플릿

:term:`workflow job template`은 릴리스 프로세스에 속한 전체 작업 세트를 단일 단위로 추적하는 작업을 수행하는 일련의 다양한 리소스를 하나로 연결합니다. 이러한 리소스에는 다음이 포함될 수 있습니다.

  • 작업 템플릿

  • 워크플로우 템플릿

  • 프로젝트 동기화

  • 인벤토리 소스 동기화

The Templates menu opens a list of the workflow and job templates that are currently available. The default view is collapsed (Compact), showing the template name, template type, and the statuses of the jobs that ran using that template, but you can click Expanded to view more information. This list is sorted alphabetically by name, but you can sort by other criteria, or search by various fields and attributes of a template. From this screen, you can launch (launch), edit (edit), and copy (copy) a workflow job template.

워크플로우 편집기에 바로 액세스할 수 있는 워크플로우 시각화 도구 아이콘(wf-viz-icon)은 워크플로우 템플릿에만 있습니다.

Wf templates - home with example wf template

참고

워크플로우 템플릿은 다른 워크플로우 템플릿의 구성 요소로 사용할 수 있습니다. 워크플로우 템플릿의 다양한 매개변수를 사용하면 워크플로우 작업 템플릿 수준에서 수정할 수 있는 **시작 시 프롬프트**를 활성화할 수 있으며, 개별 워크플로우 템플릿 수준에서 할당된 값에는 영향을 미치지 않습니다. 관련 지침은 워크플로우 시각화 도구 섹션을 참조하십시오.

23.1. 워크플로우 템플릿 생성

새 워크플로우 작업 템플릿을 생성하려면 다음을 수행합니다.

  1. add options template 버튼을 클릭한 다음 메뉴 목록에서 **워크플로우 템플릿**을 선택합니다.

Wf templates - create new wf template

  1. 다음 필드에 적절한 세부 정보를 입력합니다.

참고

If a field has the Prompt on launch checkbox selected, launching the workflow template, or when the workflow template is used within another workflow template, it will prompt for the value for that field upon launch. Most prompted values will override any values set in the workflow job template; exceptions are noted below.

Field

Options

Prompt on Launch

Name

Enter a name for the job.

N/A

Description

Enter an arbitrary description as appropriate (optional).

N/A

Organization

Choose the organization to be used with this template from the organizations available to the currently logged in user.

N/A

Inventory

Optionally choose the inventory to be used with this template from the inventories available to the currently logged in user.

Yes

Limit

A host pattern to further constrain the list of hosts managed or affected by the playbook. Multiple patterns can be separated by colons (:). As with core Ansible, a:b means 《in group a or b》, a:b:&c means 《in a or b but must be in c》, and a:!b means 《in a, and definitely not in b》. For more information and examples refer to Patterns in the Ansible documentation.

Yes

Source control branch

Select a branch for the workflow. This branch is applied to all workflow job template nodes that prompt for a branch.

Yes

Labels

  • Optionally supply labels that describe this workflow job template, such as 《dev》 or 《test》. Labels can be used to group and filter workflow job templates and completed jobs in the display.

  • Labels are created when they are added to the workflow template. Labels are associated to a single Organization using the Project that is provided in the workflow template. Members of the Organization can create labels on a workflow template if they have edit permissions (such as an admin role).

  • Once the workflow template is saved, the labels appear in the WFJT’s Details view.

  • Click the (x) beside a label to remove it. When a label is removed, it is no longer associated with that particular workflow template, but it will remain associated with any other jobs or job templates that reference it.

  • Labels are only applied to the workflow templates not the job template nodes that are used in the workflow.

  • Yes. If selected, even if a default value is supplied, you will be prompted upon launch to supply additional labels if needed.

  • You will not be able to delete existing labels - clicking (x-circle) only removes the newly added labels, not existing default labels.

Variables

  • Pass extra command line variables to the playbook. This is the 《-e》 or 《–extra-vars》 command line parameter for ansible-playbook that is documented in the Ansible documentation at Passing Variables on the Command Line.

  • YAML 또는 JSON을 사용하여 키/값 쌍을 제공합니다. 이러한 변수에는 우선순위 최대값이 있으며 다른 위치에 지정된 다른 변수를 덮어씁니다. 값은 다음과 같을 수 있습니다.

git_branch: production
release_version: 1.5
  • Yes. If you want to be able to specify extra_vars on a schedule, you must select Prompt on Launch for Variables on the workflow job template, or a enable a survey on the workflow job template, then those answered survey questions become extra_vars.

  • 추가 변수에 대한 자세한 내용은 :ref:`ug_wf_templates_extravars`를 참조하십시오.

Job Tags

Begin typing and selecting the Create x drop-down to specify which parts of the playbook should be executed. For more information and examples refer to Tags in the Ansible documentation.

Yes

Skip Tags

Begin typing and selecting the Create x drop-down to specify certain tasks or parts of the playbook to skip. For more information and examples refer to Tags in the Ansible documentation.

Yes

  1. Options: Specify options for launching this workflow job template, if necessary.

  • Check Enable Webhooks to turn on the ability to interface with a predefined SCM system web service that is used to launch a workflow job template. Currently supported SCM systems are GitHub and GitLab.

Webhook를 활성화하면 다른 필드가 표시되면서 추가 정보를 요청합니다.

  • Webhook 서비스: Webhook에서 수신 대기할 서비스를 선택합니다.

  • Webhook 인증 정보: 필요한 경우 Webhook 서비스로 상태 업데이트를 다시 보내는 데 사용할 인증 정보로 GitHub 또는 GitLab PAT(개인 액세스 토큰)을 제공합니다. 인증 정보를 선택하려면 인증 정보가 있어야 합니다. 인증 정보를 생성하려면 :ref:`ug_credentials_cred_types`을 참조하십시오.

저장 시 추가 필드가 채워지고 워크플로우 시각화 도구가 자동으로 열립니다.

  • Webhook URL: 요청을 POST하는 Webhook 서비스의 URL이 자동으로 채워집니다.

  • Webhook 키: |at|로 보낸 페이로드에 서명하는 데 Webhook 서비스에서 사용하도록 생성된 공유 비밀입니다. |at|에서 이 서비스의 Webhook를 수락하려면 Webhook 서비스의 설정에 구성해야 합니다.

Webhook 설정에 대한 자세한 내용은 :ref:`ug_webhooks`을 참조하십시오.

  • **동시 작업 활성화**를 선택하면 이 워크플로우를 동시에 실행할 수 있습니다. 자세한 내용은 :ref:`ug_job_concurrency`을 참조하십시오.

  1. 워크플로우 템플릿 구성을 완료한 경우 **저장**을 클릭합니다.

Saving the template exits the workflow template page and the Workflow Visualizer opens to allow you to build a workflow. See the 워크플로우 시각화 도구 section for further instructions. Otherwise, you may close the Workflow Visualizer to return to the Details tab of the newly saved template in order to review, edit, add permissions, notifications, schedules, and surveys, or view completed jobs and build a workflow template at a later time. Alternatively, you can click Launch to launch the workflow, but you must first save the template prior to launching, otherwise, the Launch button remains grayed-out. Also, note the Notifications tab is present only after the template has been saved.

_images/wf-templates-wf-template-saved.png

23.2. 권한 작업

**액세스**를 클릭하면 사용자와 팀 멤버의 관련 권한을 검토, 부여, 편집, 제거할 수 있습니다.

_images/wf-template-completed-permissions-view.png

추가 버튼을 클릭하고 표시되는 메시지에 따라 이 워크플로우 템플릿에 사용할 새 권한을 생성한 후 적절하게 할당합니다.

23.3. 알림 작업

알림**을 클릭하면 설정한 알림 통합을 검토할 수 있습니다. **알림 탭은 템플릿을 저장한 후에만 표시됩니다.

특정 템플릿에 사용할 알림을 활성화하거나 비활성화하려면 토글을 사용합니다. 자세한 내용은 :ref:`ug_notifications_on_off`를 참조하십시오.

알림이 설정되지 않은 경우 :ref:`ug_notifications_create`에서 자세한 내용을 참조하십시오.

_images/wf-template-no-notifications-blank.png

다양한 알림 유형 구성에 대한 자세한 내용은 :ref:`ug_notifications_types`을 참조하십시오.

23.4. 완료된 작업 보기

완료된 작업 탭에는 실행된 워크플로우 템플릿 목록이 있습니다. 각 작업의 다양한 세부 정보를 보려면 **펼치기**를 클릭합니다.

이 뷰에서 〈작업 ID - 워크플로우 작업 이름’을 클릭하면 해당 작업이 그래프로 표시됩니다. 아래 예제에서는 워크플로우 작업의 세부 정보를 보여 줍니다.

_images/wf-template-jobID-detail-example.png

노드에 레이블이 표시되어 있어 한눈에 노드를 확인할 수 있습니다. 자세한 내용은 워크플로우 시각화 도구 섹션의 범례_를 참조하십시오.

23.5. 스케줄 작업

**일정**을 클릭하면 이 템플릿에 설정된 모든 일정을 검토할 수 있습니다.

23.5.1. 워크플로우 템플릿 예약

To schedule a wokflow job template run, click the Schedules tab.

  • 스케줄이 이미 설정되어 있는 경우 스케줄 기본 설정을 검토, 편집 또는 활성화/비활성화합니다.

  • 스케줄이 설정되지 않은 경우 :ref:`ug_scheduling`에서 자세한 내용을 참조하십시오.

중첩된 워크플로우에 사용된 워크플로우 템플릿에 설문 조사가 있거나 인벤토리 옵션에 시작 시 프롬프트**가 선택되어 있는 경우 일정 양식의 **저장취소 버튼 옆에 프롬프트 버튼이 표시됩니다. 프롬프트 버튼을 클릭하면 인벤토리를 제공 또는 제거하거나 변경 사항 없이 단계를 건너뛸 수 있는 선택적 인벤토리 단계가 표시됩니다.

23.6. 설문 조사

실행 또는 확인 작업 유형이 포함된 워크플로우의 경우 워크플로우 작업 템플릿 생성 또는 편집 화면에서 설문 조사를 설정할 수 있습니다. 설문 조사에서는 〈추가 변수 요청’와 비슷하지만 간편한 질문 및 답변 방식으로 플레이북의 추가 변수를 설정합니다. 또한 설문 조사에서는 사용자 입력을 검증할 수 있습니다. 설문 조사를 생성하려면 설문 조사 탭을 클릭합니다.

설문 조사의 사용 사례는 다양합니다. 예를 들어 고급 Ansible 지식 없이도 실행할 수 있는 《단계로 푸시》 버튼을 개발자에게 제공하려는 작업이 있을 수 있습니다. 이 작업이 시작되면 《릴리스할 태그는 무엇입니까?》와 같은 질문에 응답하도록 요청하는 메시지가 표시될 수 있습니다.

선다형 질문을 포함하여 다양한 유형의 질문을 할 수 있습니다.

23.6.1. 설문 조사 생성

설문 조사를 생성하려면 다음을 수행합니다.

  1. 설문 조사 탭을 클릭하여 설문 조사 추가 창을 불러옵니다.

Workflow Job Template - create survey

화면 상단에 있는 켜짐/꺼짐 토글 버튼을 사용하여 이 설문 조사 프롬프트를 신속하게 활성화하거나 비활성화할 수 있습니다.

  1. 설문 조사는 다양한 질문으로 구성될 수 있습니다. 각 질문에 다음 정보를 입력합니다.

  • 이름: 사용자를 묻는 질문입니다.

  • 설명: 사용자에게 묻는 내용에 대한 설명입니다(선택 사항).

  • 응답 변수 이름: 사용자 응답을 저장할 Ansible 변수 이름입니다. 플레이북에서 사용할 변수이며, 변수 이름에는 공백을 포함할 수 없습니다.

  • 응답 유형: 다음 질문 유형 중에서 선택합니다.

    • 텍스트: 한 행의 텍스트입니다. 이 답변에는 최소 및 최대 길이(문자 수)를 설정할 수 있습니다.

    • 텍스트 영역: 여러 행의 텍스트 필드입니다. 이 답변에는 최소 및 최대 길이(문자 수)를 설정할 수 있습니다.

    • 암호: 응답은 실제 암호와 유사하게 민감한 정보로 처리됩니다. 이 답변에는 최소 및 최대 길이(문자 수)를 설정할 수 있습니다.

    • 다중 선택(단일 선택): 한 번에 하나만 선택할 수 있는 옵션 목록입니다. 다중 선택 옵션 박스에서 한 행에 하나씩 옵션을 입력합니다.

    • 다중 선택(여러 선택): 한 번에 여러 개를 선택할 수 있는 옵션 목록입니다. 다중 선택 옵션 박스에서 한 행에 하나씩 옵션을 입력합니다.

    • 정수: 정수입니다. 이 답변에는 최소 및 최대 길이(문자 수)를 설정할 수 있습니다.

    • 부동 값: 10진수입니다. 이 답변에는 최소 및 최대 길이(문자 수)를 설정할 수 있습니다.

  • 기본 응답: 선택한 유형에 따라 질문에 대한 기본 응답을 제공할 수 있습니다. 이 값은 인터페이스에 미리 입력되며 사용자가 응답을 제공하지 않은 경우 사용됩니다.

  • 필수: 사용자가 이 질문에 응답해야 하는지 여부를 나타냅니다.

  1. 질문 정보를 입력했으면 추가 버튼을 클릭하여 질문을 추가합니다.

스타일이 지정된 설문 조사 버전이 프리뷰 창에 표시됩니다. 각 질문에서 편집 버튼을 클릭하여 질문을 편집하거나, 삭제 버튼을 클릭하여 질문을 삭제하거나, 그리드 아이콘을 클릭하고 드래그하여 질문 순서를 바꿀 수 있습니다.

  1. 질문을 추가하려면 왼쪽 창으로 돌아갑니다.

  2. 완료되면 **저장**을 클릭하여 설문 조사를 저장합니다.

Workflow-template-completed-survey

23.6.2. 선택적 설문 조사 질문

설문 조사 질문의 필수 설정에 따라 사용자가 질문에 응답해야 하는지 여부가 결정됩니다.

선택적 설문 조사 변수는 입력하지 않은 경우에도 백그라운드에서 ``extra_vars``의 플레이북에 전달될 수 있습니다.

  • 텍스트가 아닌 변수(입력 유형)가 선택 사항으로 표시되고 미입력 상태인 경우 설문 조사 ``extra_var``이 플레이북에 전달되지 않습니다.

  • 텍스트 입력 또는 텍스트 영역 입력이 선택 사항으로 표시되고 미입력 상태이며 최소 ``length > 0``인 경우 설문 조사 ``extra_var``이 플레이북에 전달되지 않습니다.

  • 텍스트 입력 또는 텍스트 영역 입력이 선택 사항으로 표시되고 미입력 상태이며 최소 ``length === 0``인 경우 설문 조사 ``extra_var``은 값이 빈 문자열(《》)로 설정되어 플레이북에 전달됩니다.

23.7. 워크플로우 시각화 도구

워크플로우 시각화 도구를 사용하면 그래프를 사용해 작업 템플릿, 워크플로우 템플릿, 프로젝트 동기화, 인벤토리 동기화를 하나로 연결하여 워크플로우 템플릿을 빌드할 수 있습니다. 워크플로우 템플릿을 빌드하기 전에 워크플로우 섹션에서 부모 노드, 자식 노드, 형제 노드의 다양한 시나리오와 관련된 고려 사항을 참조하십시오.

23.7.1. 워크플로우 빌드

템플릿(작업 템플릿 또는 워크플로우 작업 템플릿), 프로젝트 동기화, 인벤토리 동기화 또는 승인 등의 노드 유형 중 두 개 이상의 조합을 설정하여 워크플로우를 빌드할 수 있습니다. 각 노드는 직사각형으로 표시되고 관계 및 연결된 에지 유형은 노드를 연결하는 선(또는 링크)으로 표시됩니다.

  1. 워크플로우 템플릿의 세부 정보/편집 뷰에서 시각화 도구 탭을 클릭하거나 템플릿 목록 뷰에서 wf-viz-icon 아이콘을 클릭하여 워크플로우 시각화 도구를 시작합니다.

_images/wf-editor-create-new.png
  1. start 버튼을 클릭하여 워크플로우에 추가할 노드 목록을 표시합니다.

_images/wf-editor-create-new-add-template-list.png
  1. 오른쪽 창의 드롭다운 메뉴에서 추가할 노드 유형을 선택합니다.

_images/wf-add-node-selections.png

승인 노드를 선택하는 경우 자세한 내용은 :ref:`ug_wf_approval_nodes`를 참조하십시오.

노드를 선택하면 노드와 연결된 유효한 옵션이 제공됩니다.

참고

워크플로우 그래프를 채울 때 기본 인벤토리가 없는 작업 템플릿을 선택하면 부모 워크플로우의 인벤토리가 사용됩니다. 작업 템플릿에는 인증 정보가 필요하지 않지만 암호가 필요한 인증 정보가 있는 경우 워크플로우의 작업 템플릿을 선택할 수 없습니다. 단, 인증 정보가 요청된 인증 정보로 교체되는 경우는 제외됩니다.

  1. 노드가 선택되면 워크플로우가 빌드되기 시작하고 선택한 노드에 수행할 작업 유형을 지정해야 합니다. 이 작업은 *에지 유형*이라고도 합니다.

  2. 노드가 루트 노드인 경우 기본적으로 에지 유형은 **항상**이며 편집할 수 없습니다.

후속 노드의 경우 다음 시나리오(에지 유형) 중 하나를 선택하여 각각에 적용할 수 있습니다.

  • 항상: 성공 여부와 관계없이 계속 실행됩니다.

  • 성공 시: 성공적으로 완료되면 다음 템플릿을 실행합니다.

  • 실패 시: 실패 시 다른 템플릿을 실행합니다.

  1. 통합 노드인 경우 통합 필드에서 노드 동작을 선택합니다.

  • 임의**는 기본 동작으로, 다음 통합 노드를 트리거하기 전에 *임의*의 노드를 지정된 대로 완료할 수 있습니다. 한 부모의 상태가 해당 실행 조건 중 하나를 충족하기만 하면 **임의 자식 노드가 실행됩니다. 즉, 임의 노드를 완료하는 데 모든 노드가 필요하지만 하나의 노드만 예상대로 완료되면 됩니다.

  • 다음 노드를 통합하고 트리거하기 전에 모든 노드가 지정된 대로 완료되도록 모두**를 선택합니다. **모두 노드의 목적은 모든 부모가 자식 노드를 실행하기 위해 예상대로 완료되었는지 확인하는 것입니다. 워크플로우는 모든 부모가 자식 노드를 실행하기 위해 예상대로 작동했는지 확인합니다. 예상대로 작동하지 않았다면 자식 노드를 실행하지 않습니다.

선택하면 그래프 뷰에서 노드의 레이블이 **모두**로 지정됩니다.

_images/wf-editor-convergent-node-all.png

참고

노드가 루트 노드이거나 통합되는 노드가 없는 노드인 경우 통합 규칙을 설정해도 적용되지 않습니다. 해당 동작이 이를 트리거하는 작업에 의해 결정되기 때문입니다.

  1. 워크플로우에 사용된 작업 템플릿의 매개변수에 시작 시 프롬프트**가 선택되어 있는 경우 노드 수준에서 해당 값을 변경할 수 있는 **프롬프트 버튼이 표시됩니다. 마법사를 사용하여 각 탭에서 값을 변경하고 프리뷰 탭에서 **확인**을 클릭합니다.

_images/wf-editor-prompt-button-wizard.png

마찬가지로, 워크플로우에 사용된 워크플로우 템플릿의 인벤토리 옵션에 **시작 시 프롬프트**가 선택되어 있는 경우 마법사를 사용하여 프롬프트에서 인벤토리를 제공합니다. 부모 워크플로우에 자체 인벤토리가 있는 경우 여기에 제공된 인벤토리를 덮어씁니다.

_images/wf-editor-prompt-button-inventory-wizard.png

참고

For workflow job templates with promptable fields that are required, but do not have a default, you must provide those values when creating a node before the Select button becomes enabled. The two cases that disable the Select button until a value is provided via the Prompt button: 1) when you select the Prompt on Launch checkbox in a workflow job template, but do not provide a default, or 2) when you create a survey question that is required but do not provide a default answer. However, this is NOT the case with credentials. Credentials that require a password on launch are not permitted when creating a workflow node, since everything needed to launch the node must be provided when the node is created. So, if a workflow job template prompts for credentials, automation controller prevents you from being able to select a credential that requires a password.

또한 해당 노드에서 변경 사항을 적용하려면 프롬프트 마법사가 닫힐 때 **선택**을 클릭해야 합니다. 그러지 않으면 모든 변경 사항이 실제 작업 템플릿에 설정된 값으로 되돌아갑니다.

_images/wf-editor-wizard-buttons.png

노드가 생성되면 노드의 레이블이 해당 작업 유형으로 지정됩니다. 각 워크플로우 노드와 연결된 템플릿은 진행하면서 선택한 실행 시나리오를 기반으로 실행됩니다. 나침반(compass) 아이콘을 클릭하면 각 실행 시나리오와 해당 작업 유형에 대한 범례가 표시됩니다.

_images/wf-editor-key-dropdown-list.png
  1. 노드 위에 마우스를 올리면 다른 노드를 추가하거나(add node), 노드에 대한 정보를 보거나(info node), 노드 세부 정보를 편집하거나(edit), 기존 링크를 편집하거나(edit link), 선택한 노드를 삭제할 수 있습니다(delete node).

_images/wf-editor-create-new-add-template.png
  1. 노드 추가/편집을 완료하면 **선택**을 클릭하여 모든 수정 사항을 저장하고 그래프 뷰에서 노드를 렌더링합니다. 워크플로우를 빌드하는 방법은 :ref:`ug_wf_building_scenarios`를 참조하십시오.

  2. When done with building your workflow template, click Save to save your entire workflow template and return to the new workflow template details page.

중요

이 창에서 **닫기**를 클릭하면 작업이 저장되지 않고 전체 워크플로우 시각화 도구가 닫히게 되어 처음부터 다시 시작해야 합니다.

23.7.1.1. 승인 노드

승인 노드를 선택할 경우 워크플로우를 진행하기 위해 사용자 개입이 필요합니다. 이 노드를 사용하면 플레이북 간 워크플로우를 일시 중지하여 워크플로우의 다음 플레이북을 계속하도록 승인해 지정된 시간 동안 개입할 수 있을 뿐 아니라 다른 트리거를 기다리지 않고도 최대한 빨리 계속할 수 있습니다.

_images/wf-node-approval-form.png

시간 초과 기본값은 없지만, 요청이 만료되고 자동으로 거부될 때까지의 시간을 지정할 수 있습니다. 승인 노드에 대한 정보를 선택하고 제공하면 해당 노드가 그래프 뷰에서 일시 중지(pause) 아이콘 옆에 표시됩니다.

_images/wf-node-approval-node.png

승인자는 승인 노드가 포함된 워크플로우 작업 템플릿을 실행할 수 있으면서도 해당 워크플로우 작업 템플릿과 연결된 조직에서 조직 관리자 이상의 권한이 있는 구성원이거나, 이 특정 워크플로우 작업 템플릿 내에서 승인 권한이 명시적으로 할당된 사용자입니다.

_images/wf-node-approval-notifications.png

만료가 할당된 상태에서 보류 중인 승인 노드가 지정된 제한 시간 내에 승인되지 않거나 거부되는 경우 각각 《시간 초과》 또는 《실패》로 표시되고 다음 《실패 시 노드》 또는 《항상 노드》로 이동합니다. 승인되면 《성공 시》 경로가 사용됩니다. API에서 이미 승인/거부되거나 시간 초과된 노드에 POST를 시도하면 이 작업이 중복되었음을 알리는 오류 메시지가 표시되고 추가 단계가 수행되지 않습니다.

다음은 승인 워크플로우에 허용되는 다양한 권한 수준을 보여 줍니다.

_images/wf-node-approval-rbac.png

23.7.1.2. 노드 빌드 시나리오

부모 노드에서 |add node|를 클릭하여 형제 노드를 추가할 수 있습니다.

_images/wf-editor-create-sibling-node.png

|add node|가 표시될 때까지 두 노드를 연결하는 선 위에 마우스를 올리면 노드 사이에 다른 노드를 삽입할 수 있습니다. |add node|를 클릭하면 두 노드 사이에 노드가 자동으로 삽입됩니다.

_images/wf-editor-insert-node-template.png

분할 시나리오를 표시하기 위해 루트 노드를 추가하려면 start 버튼을 다시 클릭합니다.

_images/wf-editor-create-new-add-template-split.png

분할 시나리오를 생성하려는 임의의 노드에서 분할 시나리오가 시작되는 노드 위에 마우스를 올린 후 |add node|를 클릭합니다. 이 작업은 기본적으로 동일한 부모 노드에 있는 여러 노드를 추가하여 형제 노드를 생성합니다.

_images/wf-editor-create-siblings.png

참고

새 노드를 추가하면 프롬프트 버튼이 워크플로우 템플릿에도 적용됩니다. 워크플로우 템플릿에서 인벤토리와 설문 조사를 요청하는 메시지가 표시됩니다.

마지막으로 삽입한 노드를 실행 취소하려면 오른쪽 창에서 선택하지 않고 다른 노드를 클릭합니다. 또는 오른쪽 창에서 **취소**를 클릭합니다.

다음은 실행에 실패하는 경우 프로젝트 동기화 작업을 진행하고 성공 여부와 관계없이 인벤토리 동기화 작업을 진행하는 작업 템플릿에서 시작된 세 가지 작업을 모두 포함하는 워크플로우의 예제입니다.

_images/wf-editor-create-new-add-template-example.png

창 상단에 있는 키를 참조하여 그래프 표시와 연결된 기호 및 색상의 의미를 확인합니다.

참고

다양한 에지 유형의 형제 노드 세트가 포함된 워크플로우에서 후속 노드가 연결된 노드를 제거하면 연결된 노드가 자동으로 형제 노드 세트를 결합하고 해당 에지 유형을 유지합니다.

_images/wf-node-delete-scenario.png

노드를 수정할 수 있는 방법은 다음과 같습니다.

  • 노드를 편집하려면 편집할 노드를 클릭합니다. 오른쪽 창에 현재 선택 사항이 표시됩니다. 변경 후 **선택**을 클릭하여 그래프 뷰에 변경 사항을 적용합니다.

  • 기존 링크의 에지 유형(성공/실패/항상)을 편집하려면 해당 링크를 클릭합니다. 오른쪽 창에 현재 선택 사항이 표시됩니다. 변경 후 **저장**을 클릭하여 그래프 뷰에 변경 사항을 적용합니다.

_images/wf-editor-wizard-edit-link.png
  • 한 노드의 새 링크를 다른 노드에 추가하려면 각 노드에 표시되는 링크 아이콘(edit link)을 클릭합니다. 이렇게 하면 연결할 수 있는 노드가 강조 표시됩니다. 이런 가능한 옵션은 점선으로 표시됩니다. 유효하지 않은 옵션은 회색 박스(노드)로 표시되며, 회색 박스는 이 외의 경우에서 유효하지 않은 링크를 생성합니다. 아래 예제에서는 **e2e-ec20de52-project**가 화살표로 표시된 대로 연결할 수 있는 옵션으로 **데모 프로젝트**를 보여 줍니다.

_images/wf-node-link-scenario.png
  • 링크를 제거하려면 링크를 클릭하고 연결 해제 버튼을 클릭합니다.

_images/wf-editor-wizard-unlink.png

이 버튼은 대상 또는 자식 노드에 부모가 두 개 이상 있는 경우에만 오른쪽 패널에 표시됩니다. 모든 노드는 항상 하나 이상의 다른 노드에 연결되어 있어야 하므로 이전 링크를 제거하기 전에 새 링크를 생성해야 합니다.

뷰를 확대/축소, 이동 또는 재배치하려면 설정 아이콘(settings)을 클릭합니다. 또는 워크플로우 다이어그램을 드래그하여 화면에 재배치하거나 마우스 스크롤을 사용하여 확대/축소할 수 있습니다.

23.8. 워크플로우 템플릿 시작

다음 방법 중 하나로 워크플로우 템플릿을 시작합니다.

  • Access the workflow templates list from the Templates menu on the left navigation bar or while in the workflow template Details view, scroll to the bottom to access the launch button from the list of templates.

_images/wf-templates-wf-template-launch.png
  • While in the Workflow Job Template Details view of the job you want to launch, click Launch.

Along with any extra variables set in the workflow job template and survey, automation controller automatically adds the same variables as those added for a workflow job template upon launch. Additionally, automation controller automatically redirects the web browser to the Jobs Details page for this job, displaying the progress and the results.

워크플로우 승인과 관련된 이벤트는 승인 요청(있는 경우)에 대한 세부 정보와 함께 활동 스트림(activity-stream)에 표시됩니다.

23.9. 워크플로우 템플릿 복사

|at|를 사용하면 워크플로우 템플릿을 복사할 수 있습니다. 워크플로우 템플릿을 복사하도록 선택하면 연결된 일정, 알림 또는 권한이 복사되지 않습니다. 일정 및 알림은 워크플로우 템플릿의 복사본을 생성하는 사용자나 관리자가 다시 생성해야 합니다. 워크플로우 템플릿을 복사하는 사용자에게는 관리자 권한이 부여되지만 워크플로우 템플릿에는 권한이 할당(복사)되지 않습니다.

  1. 왼쪽 탐색 모음의 템플릿 메뉴 또는 워크플로우 작업 템플릿 세부 정보 뷰에서 복사할 워크플로우 템플릿에 액세스합니다. 아래로 스크롤하여 템플릿 목록에서 액세스하면 됩니다.

  2. copy 버튼을 클릭합니다.

복사한 템플릿의 이름과 타임스탬프가 포함된 새 템플릿이 열립니다.

_images/wf-list-view-copy-example.png

복사한 템플릿을 선택하고 이름 필드의 내용을 새 이름으로 교체한 후 다른 필드의 항목을 제공하거나 수정하여 이 템플릿을 완료합니다.

  1. 완료되면 **저장**을 클릭합니다.

참고

적절한 수준의 권한이 없는 관련 리소스가 리소스에 있으면 현재 사용자에게 읽기 권한만 있는 인증 정보를 프로젝트에서 사용하는 경우와 같이 해당 리소스를 복사할 수 없습니다. 그러나 워크플로우 템플릿의 경우 권한이 없는 작업 템플릿, 인벤토리 또는 인증 정보를 해당 노드에서 사용하더라도 워크플로우 템플릿을 복사할 수 있습니다. 그러나 복사한 워크플로우 템플릿에는 워크플로우 템플릿 노드의 해당 필드가 없습니다.

23.10. 추가 변수

참고

작업 시작 API에 전달된 ``extra_vars``는 다음 중 하나에 해당하는 경우에만 적용됩니다.

  • 활성화된 설문 조사의 변수에 해당함

  • ``ask_variables_on_launch``가 True로 설정되어 있음

설문 조사 변수를 전달하면 추가 변수(extra_vars)로 전달됩니다. 이 작업은 설문 조사와 마찬가지로 워크플로우 템플릿에 추가 변수를 전달하면 인벤토리 및 프로젝트에서 전달되는 다른 변수를 덮어쓸 수 있으므로 까다로울 수 있습니다.

예를 들어 debug = true``의 인벤토리에 대해 정의된 변수가 있다고 가정합니다. ``debug = true 변수는 워크플로우 템플릿 설문 조사에서 덮어쓸 수 있습니다.

전달해야 하는 변수를 덮어쓰지 않도록 하려면 해당 변수를 다시 정의하여 설문 조사에 포함해야 합니다. 추가 변수는 인벤토리, 그룹, 호스트 수준에서 정의할 수 있습니다.

다음 표에서는 Ansible의 변수 우선순위와 비교한 |at|의 변수 우선순위 동작(계층 구조)을 보여 줍니다.

변수 우선순위 계층 구조(마지막 항목이 우선순위가 높음)

_images/Architecture-Tower_Variable_Precedence_Hierarchy-Workflows.png