8.4. 기존 역할을 컬렉션으로 마이그레이션


독립 실행형 역할의 디렉터리에는 다음과 같은 구조가 있습니다. 역할에 이러한 디렉터리가 모두 포함되지 않을 수 있습니다.

Copy to Clipboard Toggle word wrap
my_role
├── README.md
├── defaults
│   └── main.yml
├── files
├── handlers
│   └── main.yml
├── meta
│   └── main.yml
├── tasks
│   └── main.yml
├── templates
├── tests
│   ├── inventory
│   └── test.yml
└── vars
    └── main.yml

Ansible 역할에는 7개의 기본 표준 디렉터리가 있는 정의된 디렉터리 구조가 있습니다. 각 역할에는 이러한 디렉터리 중 하나 이상이 포함되어야 합니다. 역할이 사용하지 않는 디렉터리를 생략할 수 있습니다. 각 디렉터리에는 main.yml 파일이 포함되어 있습니다.

프로세스

  1. 필요한 경우 해당 콘텐츠를 반영하도록 역할이 포함된 디렉터리의 이름을 바꿉니다(예: acl_config 또는 tacacs ).

    컬렉션의 역할에는 이름에 하이픈이 있을 수 없습니다. 밑줄 문자(_)를 대신 사용합니다.

  2. 독립 실행형 역할의 역할 디렉터리를 컬렉션의 roles/ 디렉터리에 복사합니다.

    예를 들어 myapp_network 라는 컬렉션에서 myapp_network/roles/ 디렉터리에 역할을 추가합니다.

  3. 독립 실행형 역할의 플러그인을 새 컬렉션의 plugins 디렉터리/ 에 복사합니다. 컬렉션 디렉터리 구조는 다음과 유사합니다.

    Copy to Clipboard Toggle word wrap
    company_namespace
    └── myapp_network
        ├── ...
        ├── galaxy.yml
        ├── docs
        ├── extensions
        ├── meta
        ├── plugins
        ├── roles
        │   ├── acl_config
        │   │   ├── README.md
        │   │   ├── defaults
        │   │   ├── files
        │   │   ├── handlers
        │   │   ├── meta
        │   │   ├── tasks
        │   │   ├── templates
        │   │   ├── tests
        │   │   └── vars
        │   └── tacacs
        │       ├── README.md
        │       ├── default
        │       ├── files
        │       ├── handlers
        │       ├── meta
        │       ├── tasks
        │       ├── templates
        │       ├── tests
        │       └── vars
        │   ├── run
        ├── ...
        ├── tests
        └── vars

    run 역할은 컬렉션을 스캐폴드할 때 생성되는 기본 역할 디렉터리입니다.

  4. 컬렉션의 새 역할에 대해 FQDN(정규화된 컬렉션 이름)을 사용하도록 플레이북을 업데이트합니다.

모든 독립 실행형 역할이 코드를 수정하지 않고 컬렉션에 원활하게 통합되는 것은 아닙니다. 예를 들어 플러그인이 포함된 Galaxy의 타사 독립 실행형 역할이 module_utils/ 디렉터리를 사용하는 경우 플러그인 자체에 import 문이 있습니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat, Inc.