Ошибки, сложный материал, вопросы >
Нашли опечатку или неточность?

Выделите текст, нажмите ctrl + enter и отправьте его нам. В течение нескольких дней мы исправим ошибку или улучшим формулировку.

Что-то не получается или материал кажется сложным?

Загляните в раздел «Обсуждение»:

  • задайте вопрос нашим менторам. Вы быстрее справитесь с трудностями и прокачаете навык постановки правильных вопросов, что пригодится и в учёбе, и в работе программистом;
  • расскажите о своих впечатлениях. Если курс слишком сложный, подробный отзыв поможет нам сделать его лучше;
  • изучите вопросы других учеников и ответы на них. Это база знаний, которой можно и нужно пользоваться.
Об обучении на Хекслете

Теги

С ростом количества задач плейбуки становятся достаточно большими. И при отладке сценария это может вызывать неудобства. Если нужные задачи будут находиться ближе к концу плейбука, то пройдёт достаточно много времени перед тем, как Ansible доберётся до их выполнения. Для оптимизации процесса существует механизм тегов, который позволяет выполнять задачи выборочно. Мы можем пометить задачи тегами и запускать их, когда это необходимо:

В примере две задачи, которые отвечают за работу с докером. Одна из них копирует файл конфигурации, вторая перезапускает докер. Мы их пометили тегом nginx, указав ключ и значение. При этом в любой задаче можно указать несколько тегов. Например, вот так tags: [nginx, config]:

- hosts: webservers
  tasks:
    - name: install nginx
      apt: name=nginx state=latest
      become: yes
      tags: nginx

    - name: install redis server
      apt: name=redis-server state=present update_cache=yes
      become: yes

    - name: update cron
      cron: name="check dirs" minute="0" hour="5,2" job="ls -alh > /dev/null"

    - name: update nginx config
      copy: src=files/nginx.conf dest=/etc/nginx/nginx.conf
      become: yes
      tags: [nginx, config]

    - name: restart nginx
      service: name=nginx state=reloaded
      become: yes
      tags: nginx

Нужные задачи запускаются с помощью опции -t, которой передаётся название тега. Если мы ошибёмся и укажем несуществующий тег, то Ansible выдаст подсказку со списком тегов, которые можно использовать:

$ asnible-playbook --check playbook.yml -i produtcion.ini -t nginx

Обратите внимание, что используется параметр --check. Так мы проверяем возможность изменений, не выполняя непосредственно сами задачи. После ввода команды мы увидим, что выполнились только три задачи с тегом nginx:

TASK [install nginx] ****************************************
ok: [ec2-18-216-178-214.us-east-2.compute.amazonaws.com]

TASK [update nginx config] **********************************
ok: [ec2-18-216-178-214.us-east-2.compute.amazonaws.com]

TASK [restart nginx] ****************************************
changed: [ec2-18-216-178-214.us-east-2.compute.amazonaws.com]

Также используя теги, можно исключать из сценария задачи, которые мы не хотим выполнять. Для этого существует опция --skip-tags. С помощью вот такой команды будут запущены все таски, не связанные с Nginx:

$ asnible-playbook --check playbook.yml -i produtcion.ini --skip-tags nginx

<span class="translation_missing" title="translation missing: ru.web.courses.lessons.mentors.mentor_avatars">Mentor Avatars</span>

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят менторы из команды Хекслета или другие студенты.

Для полного доступа к курсу, нужна профессиональная подписка

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

Получить доступ
115
курсов
892
упражнения
2241
час теории
3196
тестов

Зарегистрироваться

или войти в аккаунт

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.

  • 115 курсов, 2000+ часов теории
  • 800 практических заданий в браузере
  • 250 000 студентов

Нажимая кнопку «Зарегистрироваться», вы даёте своё согласие на обработку персональных данных в соответствии с «Политикой конфиденциальности» и соглашаетесь с «Условиями оказания услуг».

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Rambler
Логотип компании Bookmate
Логотип компании Botmother

Есть вопрос или хотите участвовать в обсуждении?

Зарегистрируйтесь или войдите в свой аккаунт

Нажимая кнопку «Зарегистрироваться», вы даёте своё согласие на обработку персональных данных в соответствии с «Политикой конфиденциальности» и соглашаетесь с «Условиями оказания услуг».