2.4. 定義ファイルの内容の内訳
自動化実行環境のコンテナーイメージに含まれるコンテンツを指定するため、Ansible Builder で自動化実行環境を構築するには、定義ファイルが必要です。
次のセクションでは、定義ファイルのさまざまな部分について説明します。
2.4.1. ビルド引数およびベースイメージ リンクのコピーリンクがクリップボードにコピーされました!
定義ファイルの build_arg_defaults セクションは、キーが Ansible Builder への引数のデフォルト値を指定できるディクショナリーです。build_arg_defaults で使用できる値の一覧は、以下の表を参照してください。
| Value | 説明 |
|---|---|
|
|
|
|
| 自動化実行環境の親イメージを指定し、既存のイメージに基づいて新しいイメージを構築できるようにします。 |
|
| コンパイルタイプのタスクに使用されるイメージを指定します。 |
build_arg_defaults で指定される値は Containerfile にハードコーディングされるため、podman build を手動で呼び出すとこれらの値が維持されます。
CLI --build-arg フラグで同じ変数が指定されている場合は、CLI 値の優先順位が高くなります。
2.4.2. Ansible 設定ファイルパス リンクのコピーリンクがクリップボードにコピーされました!
ansible.cfg ファイルを使用して、プライベートアカウントのトークンと他の設定を自動化ハブサーバーに渡す場合は、設定ファイルのパス (定義ファイルの場所を基準にした相対パス) を文字列として一覧表示し、ビルドの初期フェーズでビルド引数として有効にします。
ansible.cfg ファイルは以下の例のような形式にする必要があります。
例2.2 ansible.cfg ファイル
自動化ハブからコレクションをダウンロードする方法は、関連する Ansible ドキュメントページ を参照してください。
2.4.3. 依存関係 リンクのコピーリンクがクリップボードにコピーされました!
2.4.3.1. Galaxy リンクのコピーリンクがクリップボードにコピーされました!
galaxy エントリーは、ansible-galaxy collection install -r … コマンドの有効な要件ファイルを参照します。
requirements.yml エントリーは、自動化実行環境定義のディレクトリーからの相対パス、または絶対パスである可能性があります。
requirements.yml ファイルの内容は以下のようになります。
例2.3 Galaxy の requirements.yml ファイル
collections: - geerlingguy.java - kubernetes.core
collections:
- geerlingguy.java
- kubernetes.core
2.4.3.2. Python リンクのコピーリンクがクリップボードにコピーされました!
定義ファイルの python エントリーは、pip install -r … コマンドの有効な要件ファイルを参照します。
requirements.txt エントリーは、Collection がすでに Python の依存関係としてリストされているように追加の Python 要件をインストールするファイルです。自動化実行環境定義のフォルダーのディレクトリーからの相対パス、または絶対パスとして記載されている可能性があります。requirements.txt ファイルの内容は、pip freeze コマンドの標準出力と同様に、以下の例のような形式にする必要があります。
例2.4 Python の requirements.txt ファイル
2.4.3.3. システム リンクのコピーリンクがクリップボードにコピーされました!
定義の システム エントリーは、bindep 要件ファイルを指定しています。このファイルは、コレクションに依存関係として含まれていないシステムレベルの依存関係をインストールします。自動化実行環境定義のフォルダーのディレクトリーからの相対パス、または絶対パスとして記載されている可能性があります。
これは、libxml2 パッケージおよび subversion パッケージをコンテナーに追加する bindep.txt ファイルの例です。
例2.5 bindep.txt ファイル
libxml2-devel [platform:rpm] subversion [platform:rpm]
libxml2-devel [platform:rpm]
subversion [platform:rpm]
2.4.4. 追加のカスタムビルドの手順 リンクのコピーリンクがクリップボードにコピーされました!
prepend コマンドと append コマンドは、additional_build_steps セクションで指定できます。これにより、メインのビルド手順が実行される前または後に実行する Containerfile にコマンドが追加されます。
additional_build_steps の構文は以下のいずれかである必要があります。
複数行の文字列
例2.6 複数行の文字列エントリー
RUN whoami RUN cat /etc/os-release
RUN whoami RUN cat /etc/os-releaseCopy to Clipboard Copied! Toggle word wrap Toggle overflow リスト
例2.7 リストエントリー
- RUN echo This is a post-install command! - RUN ls -la /etc
- RUN echo This is a post-install command! - RUN ls -la /etcCopy to Clipboard Copied! Toggle word wrap Toggle overflow