Playでのvarsの定義と利用
値を宣言して参照します
「Playでのvarsの定義と利用」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
変数が存在する理由
ポートやパッケージ名などの値をあちこちに直接書くと、変更が大変になります。variableを使えば、値に一度だけ名前を付けて再利用できます。🌟
varsセクション
playの中にvarsキーを追加し、名前と値の対応関係を記述します。その下にあるすべての変数が、そのplayのタスクから利用できるようになります。
- hosts: web
vars:
http_port: 80
app_name: shop
tasks: []変数に名前を付ける
変数名には小文字、数字、アンダースコアを使います。http_portのような分かりやすい名前は、意味不明なp1よりも常に優れています。
変数には任意の型を格納できる
値には、文字列、数値、ブール値、リスト、辞書を指定できます。YAMLは、記述方法から型を判断します。
vars:
max_clients: 200
debug: true
packages:
- nginx
- git変数を参照する
値を使うには、その名前を二重の波括弧で囲みます。{{ http_port }}と記述すると、保存されている値に置き換えるようAnsibleに指示できます。
tasks:
- debug:
msg: "Port is {{ http_port }}"モジュールの引数内で変数を使う
変数はメッセージだけでなく、任意のモジュール引数に埋め込めます。ここではname引数に変数の値を設定しています。
tasks:
- apt:
name: "{{ app_name }}"
state: presentdebugモジュール
debugモジュールは、実行中に値を表示します。変数が実際に何を保持しているかを確認するときに役立ちます。
- debug:
var: http_portdebugでのvarとmsgの違い
varは変数の生の値を表示するときに、msgは波括弧を含む文を表示するときに使います。これは異なる2つの書き方です。
- debug:
msg: "Serving {{ app_name }} on {{ http_port }}"長いリストにはvars_files
値が多い場合は、それらを別のファイルに移し、vars_filesでそのファイルを指定します。playをすっきり保てます。
- hosts: web
vars_files:
- vars/main.yml
tasks: []入力にはvars_prompt
実行時に値が必要ですか。vars_promptを使うと、オペレーターに質問し、その回答を変数として保存できます。
vars_prompt:
- name: username
prompt: "Enter a username"スコープ:playレベルのvars
playのvarsで定義した変数は、そのplay内のすべてのタスクに適用されますが、同じファイル内のほかのplayには適用されません。
クイックチェック
タスク内で変数の値を参照するには、どうすればよいでしょうか。
まとめ
varsの下で値を宣言し、分かりやすい名前を付け、二重の波括弧で値を取り出す方法を学びました。変数によってplayを再利用できます。✨
よくある質問
「Playでのvarsの定義と利用」レッスンは無料ですか?
はい。「Playでのvarsの定義と利用」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「Playでのvarsの定義と利用」で何を学びますか?
値を宣言して参照します ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「Playでのvarsの定義と利用」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Playでのvarsの定義と利用
- {{ }}置換構文
- コマンドラインでのExtra Vars
- 変数の出所と優先順位