3.7. 정의 파일 콘텐츠 분석
자동화 실행 환경 컨테이너 이미지에 포함된 콘텐츠를 지정하므로 Ansible Builder로 자동화 실행 환경을 빌드하려면 정의 파일을 제공해야 합니다.
다음 섹션에서는 정의 파일의 다양한 부분을 나눕니다.
3.7.1. 빌드 인수
정의 파일의 build_arg_defaults
섹션은 키가 Ansible Builder에 인수에 대한 기본값을 제공할 수 있는 사전입니다.
다음 표에는 build_arg_defaults
에서 사용할 수 있는 값이 나열되어 있습니다.
현재의 | 설명 |
---|---|
| 사용자가 컬렉션 설치 단계에서 ansible-galaxy CLI에 임의의 인수를 전달할 수 있습니다.
예를 들어 사전 릴리스 컬렉션 설치를 활성화하는 |
|
사용자가 |
일반적으로 podman을 사용하여 기본 이미지를 사용자 지정 기본 이미지로 사용자 지정한 다음 이 사용자 정의 이미지에서 ansible-builder
를 호출하는 것이 일반적으로 더 쉽습니다(특히 파이프라인 컨텍스트에서).
build_arg_defaults
내에 제공된 값은 Containerfile
에 하드 코딩되므로 podman build
를 수동으로 호출하면 이러한 값이 유지됩니다.
CLI --build-arg
플래그에 동일한 변수가 지정된 경우 CLI 값이 우선합니다.
3.7.2. 정의 종속 항목
정의 파일의 dependencies 섹션에 있는 최종 이미지에 설치해야 하는 종속성을 포함할 수 있습니다.
자동화 실행 환경 이미지 문제를 방지하려면 Galaxy, Python 및 시스템의 항목이 유효한 요구 사항 파일을 가리키거나 해당 파일 유형에 유효한 콘텐츠인지 확인하십시오.
3.7.2.1. Galaxy
galaxy
항목은 유효한 요구 사항 파일을 가리키거나 ansible-galaxy 컬렉션 install -r …
명령에 대한 인라인 콘텐츠를 포함합니다.
항목 requirements.yml
은 자동화 실행 환경 정의 폴더의 디렉터리 또는 절대 경로의 상대 경로일 수 있습니다.
콘텐츠는 다음과 같을 수 있습니다.
collections: - community.aws - kubernetes.core
collections:
- community.aws
- kubernetes.core
3.7.2.2. Python
정의 파일의 python
항목은 올바른 요구 사항 파일을 가리키거나 pip install -r …
명령의 PEP508 형식의 Python 요구 사항 목록을 가리킵니다.
항목 requirements.txt
는 컬렉션에서 Python 종속 항목으로 이미 나열한 항목 위에 Python 요구 사항을 설치하는 파일입니다. 자동화 실행 환경 정의 폴더의 디렉터리 또는 절대 경로의 상대 경로로 나열될 수 있습니다. pip freeze
명령의 표준 출력과 유사하게 requirements.txt
파일의 내용은 다음 예로 포맷해야 합니다.
콘텐츠는 다음과 같을 수 있습니다.
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
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
3.7.2.3. 시스템
정의의 시스템
항목은 bindep 요구 사항 파일 또는 Bindep 항목의 인라인 목록을 가리킵니다. 이 목록은 컬렉션에 이미 포함되어 있는 항목 외부에 있는 시스템 수준 종속성을 설치합니다. 시스템
항목은 자동화 실행 환경 정의 폴더의 디렉터리에서 상대 경로로 나열하거나 절대 경로로 나열할 수 있습니다. 최소한 컬렉션은 [platform:rpm]
에 필요한 요구 사항을 지정해야 합니다.
이를 설명하기 위해 다음은 libxml2
및 하위 버전 패키지를 컨테이너에 추가하는 bindep.txt
파일의 예입니다.
콘텐츠는 다음과 같을 수 있습니다.
libxml2-devel [platform:rpm] subversion [platform:rpm]
libxml2-devel [platform:rpm]
subversion [platform:rpm]
여러 컬렉션의 항목이 단일 파일로 결합됩니다. 이는 bindep
에 의해 처리된 다음 dnf
로 전달됩니다. 프로필이 없거나 런타임 요구 사항이 없는 요구 사항만 이미지에 설치됩니다.
3.7.2.4. 이미지
정의 파일의 images
섹션은 기본 이미지를 식별합니다. podman
컨테이너 런타임에서는 서명된 컨테이너 이미지에 대한 확인이 지원됩니다.
다음 표에서는 이미지에서
사용할 수 있는 값 목록을 보여줍니다.
현재의 | 설명 |
---|---|
| 기존 이미지를 기반으로 새 이미지를 빌드할 수 있는 자동화 실행 환경의 상위 이미지를 지정합니다. 일반적으로 ee-minimal 또는 ee-supported 와 같은 지원되는 실행 환경 기본 이미지이지만 사용자가 생성하고 추가로 사용자 지정하려는 실행 환경 이미지일 수도 있습니다.
컨테이너 이미지를 사용하려면
기본 이미지는 |