Comments 16
Довольно интересно, спасибо! Но сразу возникает вопрос, a как в данном случае повышать привелегии?
Например у меня в ansible.cfg сейчас вот так:
[privilege_escalation]
become=True
become_ask_pass=True
Делать sudo без пароля для пользователя, под которым идет ансибл
sudo без пароля? Такой вариант в принципе не рассматривается из соображений безопасности.
Тогда никак.
пароль на sudo нужно ставить для интерактивных пользователей, которые могут внезапно пойти пить чай, забыв залочить свою консоль. Или могут свой пароль оставить в паблике.
А для ansible можно сделать отдельного пользователя без пароля, доступ к которому идет по ssh ключам и соответственно ему можно настроить выполнение команд через sudo без пароля, чтобы он мог автоматически администрировать ваши ресурсы.
Довольно таки legacy stack решения для которого есть в первых строках любого поиска :)
ansible_become_pass + ansible vault и не слушайте этих судобезпарольщиков
Здравствуйте! Авторизоваться через ключи, или хранить пароли в секретных переменных Jenkins, из CI/CD пайплайнов интерактивный ввод не делают:)
После установки Jenkins создаём новую build-работу:
Простите, может и придраться решил, но звучит buld-работу ну очень уж криво
Ага! Значит не я один использую связку официанта+анзибл!! Прочитав статью не понял одного - а зачем вообще писать многоходовочки в официанте? зачем развивать пайплайнинг официанта, если все то же самое можно анзиблом сделать?
Я у себя просто вызываю анзибл с нужным плейбуком по изменениям в гите, которые проверяет официант (даже веб хук лень было настраивать для связки гити+официант). Авторизация по ключам, права рута у анзибла.
ИМХО, время официанта уходит, а анзибл настолько нужный инструмент, что лучше его изучить подробнее для админа.
Привет! Здесь вопрос в разделении обязанностей: ансибл, например, не может подготовить систему, потом собрать приложение и залить его в эту систему. А вот дженкинс может, таким образом первый шаг ансибл, второй — какой-нибудь пайплайн дженкинс, третий — снова ансибл. Ничего страшного в этом нет, у официанта и ансибла немного разный класс задач.
Как это не может?!?!?
Все ансибл может и делает это в моем хозяйстве: подготавливает систему, собирает приложение и переносит в целевую систему. Причем файл с нужными для заливки хостами я кладу прямо в гит, чтобы разраб мог управлять на какой сервак залить обнову, а куда не надо.
Я согласен, что официант и ансибл имеют разные функции, но я больше отдаю функций ансиблу, чем официанту, так как думаю, что для админа ансибл углубленно знать полезнее, чем официанта.
Полезно, спасибо.
Позвольте немного оффтопа: не подскажите ли, как слать логи из Console Output (Jenkins) в Телеграм? У дженкинса есть плагин для телеграма (https://plugins.jenkins.io/telegram-notifications/), но умеет слать только SUCCESS или FAILURE в результате сборки + умеет добавлять кастомное сообщение если сборка успешна. А вот бы как еще получать в сообщении строку с ошибкой если билд не прошел?
Как настроить Jenkins в связке с Ansible