0Pricing
DevOps Bootcamp · Урок

Определение и использование vars в плейбуке

Объявляйте значения и обращайтесь к ним.

«Определение и использование vars в плейбуке» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 4 уроков всего.

Зачем нужны переменные

Повторное жёсткое задание таких значений, как порт или имя пакета, усложняет изменения. Переменная задаёт значение один раз, чтобы его можно было использовать повторно. 🌟

Раздел переменных

Внутри плей добавьте ключ переменных, содержащий соответствия имён и значений. Всё, что находится под ним, становится доступным задачам этого плей.

- 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 }}"

Переменные внутри аргументов модуля

Переменную можно вставить в любой аргумент модуля, а не только в сообщения. Здесь аргумент имя получает значение из переменной.

tasks:
  - apt:
      name: "{{ app_name }}"
      state: present

Модуль отладки

Модуль debug выводит значение во время запуска. Он помогает проверить, что именно хранится в переменной.

- debug:
    var: http_port

var и msg в debug

Используйте var, чтобы вывести исходное значение переменной, или msg, чтобы вывести предложение с фигурными скобками. Это два разных стиля.

- debug:
    msg: "Serving {{ app_name }} on {{ http_port }}"

vars_files для длинных списков

Если значений много, перенесите их в отдельный файл и укажите его с помощью vars_files. Так плей остаётся аккуратным.

- hosts: web
  vars_files:
    - vars/main.yml
  tasks: []

vars_prompt для ввода

Нужно получить значение во время выполнения? vars_prompt задаёт оператору вопрос и сохраняет его ответ как переменную.

vars_prompt:
  - name: username
    prompt: "Enter a username"

Область действия: переменные уровня плей

Переменные, определённые в разделе переменных плей, применяются ко всем задачам этого плей, но не к другим плей в том же файле.

Быстрая проверка

Как сослаться на значение переменной внутри задачи?

Итоги

Вы научились объявлять значения в разделе переменных, давать им понятные имена и получать их с помощью двойных фигурных скобок. Переменные делают плей повторно используемыми. ✨

Часто задаваемые вопросы

Урок «Определение и использование vars в плейбуке» бесплатный?

Да — полный текст урока «Определение и использование vars в плейбуке» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.

Чему я научусь в уроке «Определение и использование vars в плейбуке»?

Объявляйте значения и обращайтесь к ним. Ты практикуешь DevOps Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать DevOps Bootcamp?

Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Определение и использование vars в плейбуке»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке DevOps Bootcamp?

Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Определение и использование vars в плейбуке
  2. Синтаксис подстановки {{ }}
  3. Дополнительные переменные в командной строке
  4. Источники переменных и их приоритет
← Назад к DevOps Bootcamp