Pull to refresh

Comments 16

В целом неплохо. Гораздо лучше чем в прошлой статье. Но…
Я примерно такое года 3 назад писал, и без захардкоженых путей вроде dest: /etc/php/7.3/apache2
Версия php выносится в переменную {{ php_version }} и ставится любая нужная примерно как — php{{ php_version }}-curl и файлы также раскладываются.
mysql я какой-то ролью с гэлакси настраивал — базы создавал с пользователями и дампы раскатывал. Не помню чем мне встроенный модуль не угодил.
Учитывая то, что вы меня на работу лет 5 назад не взяли из-за недостатка квалификации, средний уровень статей по ansible немного… э-э-э-… удручает.

В начале своего пути очень много информации, которую трудно переварить моментально.
Данные статьи написана простыми словами для обучения новичков. Она не является идеальной. Так, что просим не судить строго)

  - name: Copy domain_name  config
    copy:
      src: nginx/domain_name.conf
      dest: /etc/nginx/sites-available/domain_name.conf
Файл с переменными /var/ansible/LEMP/vars/main.yml:
DOMAIN_NAME: domain_name

Т.е. не смотря на наличие файла с переменными, в которых указан domain_name, во всех конфигах вы домены прибиваете гвоздями и копируете? Т.е. на следующий проект надо вносить изменения в 4 файла?... не надо так.

Лучше сразу объяснить про temlpates.

А еще не понятно, почему нет разбиения по ролям, хотя LEMP как бы намекает на 4 независимых роли 8)

P.s. после ребута сервер превратится в тыкву т.к. у сервисов нет enabled: yes

Добрый день.
Да действительно можно не прибивать гвоздями, а использовать переменную.
Постараюсь исправить данный момент в статье. Спасибо!

PHP 7.3, использование with_items, неиспользование FQCN… Такое чувство, будто статья валялась в песочнице несколько лет и её выпустили только сейчас


Использование files вместо templates тоже смущает, уж хотя бы domain_name стоит читать из переменной, чтобы можно было как минимум разделить staging и production, наверное?

Я бы рекомендовал автору статьи ансибл линтер запустить в первую очередь

Да, можно так делать. Не был учтен данный момент при написании. Исправлю. Спасибо!

Только хотел написать об этом. apt этого не требует, а еще лучше использовать package, чтобы быть платформонезависимым.

А какой смысл использовать package, если на разных платформах названия пакетов всё равно разные?

А чтобы можно было переменные вместо настоящих имен использовать и меньше кода писать

Мне кажется, что для новичков это полезный материал, помогает наглядно понять основные возможности ansible.

В качестве следующего шага, мне кажется, что стоит добавить переменные и templates, чтобы показать возможности параметризации в ansible.
Также возможно под эту задачу (или под компоненты) уже есть готовая роль, которую можно переиспользовать.

Спасибо большое. Учту при написании следующих обучающих статей!

Было бы интересно увидеть продолжение(чужие варианты реализации) того же плэйбука, но когда, например, нужно забиндить виртуалхост только на внешнем IP. Ну и другие варианты использования "фактов".

Sign up to leave a comment.