0Pricing
DevOps Bootcamp · レッスン

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: present

debugモジュール

debugモジュールは、実行中に値を表示します。変数が実際に何を保持しているかを確認するときに役立ちます。

- debug:
    var: http_port

debugでの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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Playでのvarsの定義と利用
  2. {{ }}置換構文
  3. コマンドラインでのExtra Vars
  4. 変数の出所と優先順位
← DevOps Bootcampに戻る