Role ディレクトリの構成
tasks、handlers、templates、defaults、vars の役割を学びます。
「Role ディレクトリの構成」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
ロールはフォルダーのツリー構造
ロールは、決められたサブフォルダーを持つディレクトリにすぎません。Ansibleはフォルダー名を認識し、その内容を自動的に読み込みます。
roles/
nginx/
tasks/
handlers/
templates/tasks/main.ymlがエントリーポイント
tasks/main.ymlファイルには、ロールの主なタスク一覧を記述します。ロールが適用されたとき、Ansibleが最初に実行するファイルです。
tasks/main.yml:
- name: Install nginx
ansible.builtin.package:
name: nginxhandlers/に再起動の処理を置く
handlersフォルダーでは、サービスの再起動などの処理を定義します。タスクがこれらのハンドラーに通知するため、変更があった場合にだけ再起動が行われます。
Jinja2ファイルはtemplates/に置く
.j2テンプレートファイルはtemplates/に置きます。templateモジュールは完全なパスを指定しなくても、名前でそこからファイルを見つけます。
templates/
nginx.conf.j2静的ファイルはfiles/に置く
filesフォルダーには、そのままコピーする通常のファイルを保存します。copyモジュールはtemplatesと同じように、ファイルを自動的に見つけます。
defaults/で優先度の低い変数を設定する
defaults/main.ymlファイルには、優先順位が最も低い変数を記述します。そのため、ロールの外部から簡単に上書きできます。
defaults/main.yml:
nginx_port: 80vars/で優先度の高い変数を設定する
vars/main.ymlファイルには、優先順位の高い変数を記述します。ロールが依存し、ほとんど変更されない値に使用します。
meta/main.ymlでロールを説明する
meta/main.ymlファイルには、ロールの作成者、ライセンス、対応プラットフォーム、ロールの依存関係を記述します。
main.ymlが特別な名前である理由
tasks、handlers、vars、defaultsの中では、Ansibleがmain.ymlという名前のファイルを自動的に読み込みます。この命名規則が、各要素を結び付けています。
使うものだけ用意すればよい
ロールにすべてのフォルダーを用意する必要はありません。テンプレートがなければ、templatesディレクトリを省略できます。Ansibleは、存在しない任意のフォルダーを無視します。
tests/とREADMEで仕上げる
完成度の高いロールにはREADMEとtestsフォルダーが用意されており、他の人が自動化の内容を理解し、使用前に検証できるようになっています。
クイックチェック
ロールの主なタスク一覧がどこにあるか思い出してみましょう。
まとめ
ロールはフォルダーのツリー構造であり、tasks、handlers、templates、files、defaults、vars、metaにはそれぞれ決められた場所があります。すべてはmain.ymlを基準に構成されます。📁
AI チューターと学ぶ DevOps Bootcamp — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 142
- レッスン
- 568
よくある質問
「Role ディレクトリの構成」レッスンは無料ですか?
はい。「Role ディレクトリの構成」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「Role ディレクトリの構成」で何を学びますか?
tasks、handlers、templates、defaults、vars の役割を学びます。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「Role ディレクトリの構成」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。