2.5. 정의 파일 콘텐츠 분석


자동화 실행 환경 컨테이너 이미지에 포함된 콘텐츠를 지정하므로 Ansible Builder를 사용하여 자동화 실행 환경을 빌드하는 데 정의 파일이 필요합니다.

다음 섹션에서는 정의 파일의 다른 부분을 나눕니다.

2.5.1. 인수 및 기본 이미지 빌드

정의 파일의 build_arg_defaults 섹션은 키가 Ansible 빌더에 인수의 기본값을 제공할 수 있는 사전입니다. build_arg_defaults 에 사용할 수 있는 값 목록은 다음 표를 참조하십시오.

현재의설명

ANSIBLE_GALAXY_CLI_COLLECTION_OPTS

사용자는 컬렉션 설치 단계에서 임의의 인수를 ansible-galvncy CLI에 전달할 수 있습니다. 예를 들어 사전 릴리스 컬렉션을 설치할 수 있는 -pre 플래그 또는 -c는 서버의 SSL 인증서 확인을 비활성화합니다.

ANSIBLE_GALAXY_CLI_ROLE_OPTS

사용자가 -no-deps와 같은 플래그를 역할 설치에 전달할 수 있습니다.

build_arg_defaults 내에 지정된 값은 Containerfile 로 하드 코딩되므로 podman build 를 수동으로 호출하면 이러한 값이 유지됩니다.

참고

CLI --build-arg 플래그에 동일한 변수가 지정되면 CLI 값이 우선 순위가 높습니다.

정의 파일의 dependencies 섹션에 있는 최종 이미지에 설치해야 하는 종속성을 포함할 수 있습니다.

자동화 실행 환경 이미지 문제를 방지하려면 Galaxy, Python 및 시스템의 항목이 유효한 요구 사항 파일을 가리키거나 해당 파일 유형에 유효한 콘텐츠인지 확인하십시오.

2.5.1.1. Galaxy

galaxy 항목은 유효한 요구 사항 파일을 가리키거나 ansible-galaxy 컬렉션 install -r …​ 명령에 대한 인라인 콘텐츠를 포함합니다.

항목 requirements.yml 은 자동화 실행 환경 정의 폴더의 디렉터리 또는 절대 경로의 상대 경로일 수 있습니다.

콘텐츠는 다음과 같을 수 있습니다.

예 2.2. Galaxy 항목

Copy to Clipboard Toggle word wrap
collections:
  - community.aws
  - kubernetes.core

2.5.1.2. Python

정의 파일의 python 항목은 올바른 요구 사항 파일을 가리키거나 pip install -r …​ 명령의 PEP508 형식의 Python 요구 사항 목록을 가리킵니다.

항목 requirements.txt 는 컬렉션에서 이미 Python 종속 항목으로 나열하는 추가 Python 요구 사항을 설치하는 파일입니다. 자동화 실행 환경 정의 폴더의 디렉터리에서 상대 경로 또는 절대 경로로 나열될 수 있습니다. requirements.txt 파일의 내용은 pip freeze 명령의 표준 출력과 유사하게 다음 예와 같이 포맷해야 합니다.

예 2.3. Python 항목

Copy to Clipboard Toggle word wrap
boto>=2.49.0
botocore>=1.12.249
pytz
python-dateutil>=2.7.0
awxkit
packaging
requests>=2.4.2
xmltodict
azure-cli-core==2.11.1
openshift>=0.6.2
requests-oauthlib
openstacksdk>=0.13
ovirt-engine-sdk-python>=4.4.10

2.5.1.3. 시스템

정의의 시스템 항목은 bindep 요구 사항 파일 또는 Bindep 항목의 인라인 목록을 가리킵니다. 이 목록은 컬렉션에 이미 포함되어 있는 항목 외부에 있는 시스템 수준 종속성을 설치합니다. 자동화 실행 환경 정의 폴더의 디렉터리에서 상대 경로로 나열하거나 절대 경로로 나열할 수 있습니다. 최소한 컬렉션에서 [platform:rpm] 에 필요한 요구 사항을 지정해야 합니다.

이를 설명하기 위해 다음은 libxml2하위 버전 패키지를 컨테이너에 추가하는 bindep.txt 파일의 예입니다.

예 2.4. 시스템 항목

Copy to Clipboard Toggle word wrap
libxml2-devel [platform:rpm]
subversion [platform:rpm]

여러 컬렉션의 항목이 단일 파일로 결합됩니다. 이 작업은 bindep 에 의해 처리된 다음 dnf 로 전달됩니다. 프로파일이 없거나 런타임 요구 사항이 없는 요구 사항만 이미지에 설치됩니다.

2.5.2. 이미지

정의 파일의 images 섹션은 기본 이미지를 식별합니다. podman 컨테이너 런타임에서는 서명된 컨테이너 이미지에 대한 확인이 지원됩니다.

이미지에서 사용할 수 있는 값 목록은 다음 표를 참조하십시오.

현재의설명

base_image

기존 이미지를 기반으로 새 이미지를 빌드할 수 있는 자동화 실행 환경의 상위 이미지를 지정합니다. 일반적으로 ee-minimal 또는 ee-supported 와 같은 지원되는 실행 환경 기본 이미지이지만 사용자가 생성하고 추가로 사용자 지정하려는 실행 환경 이미지일 수도 있습니다.

컨테이너 이미지를 사용하려면 name 키가 필요합니다. 이미지가 저장소 내에 미러링되지만 이미지의 원래 서명 키로 서명된 경우 서명 _original_name 키를 지정합니다. 이미지 이름에는 :latest 와 같은 태그가 포함되어야 합니다.

기본 이미지는 registry.redhat.io/ansible-automation-platform-24/ee-minimal-rhel8:latest 입니다.

참고

CLI --build-arg 플래그에 동일한 변수가 지정되면 CLI 값이 우선 순위가 높습니다.

2.5.3. 추가 빌드 파일

정의 파일의 additional_build_steps 섹션에 참조하거나 복사하여 외부 파일을 빌드 컨텍스트 디렉터리에 추가할 수 있습니다. 형식은 사전 값 목록으로, 각각 srcdest 키와 value가 있습니다.

각 목록 항목은 다음 필수 키가 포함된 사전이어야 합니다.

src
빌드 컨텍스트 디렉터리에 복사할 소스 파일을 지정합니다. 절대 경로(예: /home/user/.ansible.cfg) 또는 실행 환경 파일과 관련된 경로일 수 있습니다. 상대 경로는 하나 이상의 파일(예: files/*.cfg)과 일치하는 glob 표현식일 수 있습니다.
참고

절대 경로는 정규식을 포함할 수 없습니다. src 가 디렉터리이면 해당 디렉토리의 전체 콘텐츠가 dest 로 복사됩니다.

dest
소스 파일(예: files/configs)을 포함하는 빌드 컨텍스트 디렉터리의 _build 하위 디렉터리 아래에 하위 디렉터리 경로를 지정합니다. 이는 절대 경로이거나 경로 내에서 포함할 수 없습니다. Ansible Builder가 아직 없는 경우 이 디렉터리를 생성합니다.

2.5.4. 추가적인 사용자 지정 빌드 단계

정의 파일의 additional_build_steps 섹션에서 모든 빌드 단계에 대한 사용자 정의 빌드 명령을 지정할 수 있습니다. 이를 통해 빌드 단계를 세부적으로 제어할 수 있습니다.

prepend_append_ 명령을 사용하여 기본 빌드 단계가 실행되기 전이나 후에 실행되는 Containerfile 에 지시문을 추가합니다. 명령은 런타임 시스템에 필요한 모든 규칙을 준수해야 합니다.

additional_build_steps 에서 사용할 수 있는 값 목록은 다음 표를 참조하십시오.

현재의설명

prepend_base

기본 이미지를 빌드하기 전에 명령을 삽입할 수 있습니다.

append_base

기본 이미지를 빌드한 후 명령을 삽입할 수 있습니다.

prepend_galaxy

Galaxy 이미지를 빌드하기 전에 삽입할 수 있습니다.

append_galaxy

Galaxy 이미지를 빌드한 후 삽입할 수 있습니다.

prepend_builder

Python 빌더 이미지를 빌드하기 전에 명령을 삽입할 수 있습니다.

append_builder

Python 빌더 이미지를 빌드한 후 명령을 삽입할 수 있습니다.

prepend_final

최종 이미지를 빌드하기 전에 삽입할 수 있습니다.

append_final

최종 이미지를 빌드한 후 삽입할 수 있습니다.

additional_build_steps 구문은 여러 줄 문자열과 목록을 모두 지원합니다. 다음 예제를 참조하십시오.

예 2.5. 여러 줄 문자열 항목

Copy to Clipboard Toggle word wrap
prepend_final: |
   RUN whoami
   RUN cat /etc/os-release

예 2.6. 목록 항목

Copy to Clipboard Toggle word wrap
append_final:
- RUN echo This is a post-install command!
- RUN ls -la /etc

2.5.5. 추가 리소스

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat, Inc.