Alf 🙀
Alf 🙀
как организовать git flow в конторе тебе рассказать?
cyber
Alf 🙀
тогда в чем вопрос? как сделать сиай?
cyber
Да, пожалуй
cyber
Хотелось бы примеров
Alf 🙀
ну, смотри, есть у тебя роли и ты очень переживаешь что они не будут работать идешь и пишешь тесты и кладешь их в папочку тест про это есть целая глава в доке
Alf 🙀
если ты очень переживаешь как буддет работать твой solution(playbook) на енве, то тоже идешь и пишешь тест
Serg
Парни, странный вопрос назрел. Допустим я тестирую плейбуки с флагом --check. Есть 2 таски , первая добовляет новую репу, вторая устанавливает пакет из нее. Но в случае с тестом на втором таске всегда будет выпадать ошибка, поскольку репа физически не установленна. Как быть?)
cyber
Alf 🙀
Alf 🙀
Alf 🙀
когда назреют практические вопросы приходи с практическими вопросами
cyber
Может есть примеры статей на эту тему
Alf 🙀
ты хочешь чтобы я за тебя погууглил?
Alf 🙀
кстати идея для стартапа let me habr it for you
Serg
cyber
Alf 🙀
Ты думаешь я там не был ? :)
ты вот сначала определись что ты хочешь тестировать, роли по отдельности или как все это будет катится в связке на твой прод стейдж и прочее
Alf 🙀
от этого будет слегка разнится воркфлоу, а дальше уж что там тебе интереснее и ближе рспек китчен - на вкус и цвет
iF
Может есть примеры статей на эту тему
Все статьи описывают или сферического коня или конкретные решения под конкретную инфраструктуру. Тут надо пробовать самому. Вот например у меня было реализаций штук, уже не помню, болше пяти.
Пришел к тому что разделил по репам, роли, сценарии и публичные ключи. Причем та структура каталогов, которая рекомендуется вбестпрактикс, лично мне не подошла.
iF
Так же и с CI, есть то что в гитлабе, есть тимсити, молекулы всякие, докеры, вагранты.
iF
К чему лежит душа, что ближе и что лучше понял
cyber
Alf 🙀
да, организация процесса внутри конторы - очень уникальная штука. успешно без изменений перенести одно в другое - нельзя.
maniac
чятик сегодня веселый конечно. сначала веселый потом немного грустный.
iF
Разогрев перед пятницей
Pavel
Alex 서퍼
Добрый день! Есть ли более красивый способ сделать это:
- set_fact:
extra_hosts: "{{ extra_hosts + [ 'rabbitmq-' ~ hostvars[item]['inventory_hostname'] ~ ':' ~ hostvars[item]['clx_ip'] ] }}"
with_inventory_hostnames:
- rabbitmq
Aleksey
Aleksey
нее. вполне конкретная
Aleksey
я юзаю. удобно
Aleksey
нет
Aleksey
я там много репортил багов
Aleksey
и допиливал до юзабельного состояния
Anton
а что за прикол с ансибл.
поставил ограничение по кол-ву потоков в 10 штук.
если вся пачка из 10 штук выполнилась с ошибкой, то плейбук полностью останавливается, даже если не по всему списку прошёл
Anton
ваще наверное правильно, предположение на отвал по сети, например
Anton
но как это поведение изменить?
Anton
не, всмысле не игнорить ошибки, т.к. они реальны
Anton
а что бы плейбук дальше выполнялся, даже если все хосты в очередной пачке потоков вывалились с ошибкой
Alf 🙀
Alf 🙀
окей не то, похоже.
Alf 🙀
Köfte
видимо их много может быть
Anton
Köfte
очень плохо конечно, когда так
Köfte
это какой юзкейс?
Anton
много железок, из них многие не доступны на момент запуска плейбука, как будут доступны запущу на них
Anton
ваще дело не в том что ошибок много, а в том что я ограничил число потоков до 10, что бы не загружать сеть
Köfte
так плейбук дальше идет, когда не может приконнектится?
Anton
в пределах 10 потоков возможно 10 ошибок
Anton
а если все 10 фейл - то останавливается
Anton
я говорю про команду serial
Andrey
Господа, может у кого есть хороший пример (ссылка на github), плейбука для развертывания проекта контейнеров так на 6-8 постоянных и служебных временных еще штук пять (стандартный такой блог за 10 минут) на голую машинку. Сами налепили тяп-ляп (в одном плейбуке делается и провиженинг и деплоймент (включаяя остановку - модификацию данных - запуск), но хотелось бы найти действительно красивый и "правильный" вариант, почерпнуть какие-то идеи. Сейчас плейбук с предварительно прогнанным когда-то провиженингом отрабатывает на слабой машинке за четыре минуты, это меня печалит.
Andrey
* Compose не предлагать
Andrey
Плюс ко всему, хотелось бы понять, как устроить "фазы" деплоймента, которые сквозняком проходят через множество ролей. Пока что думаю над Ansible Tags - вроде должно подойти.
Andrey
Отлично
Andrey
Очень любим
Gleb
Александр
А апдейты?
Sergey
А апдейты?
что такое апдейт?
установка артифакта другой версии 😊
Sergey
версии "пиню", то есть явно указываю
Александр
Ну всмысле, ты в плей буке можешь указать определенную версию, но тут тебе с жопой в мыле прибегает разраб и говорит, у нас деплой, нужно переделать версию, т.е., откатить вверх или вниз по мажорным версиям
Александр
А у тебя уже все стоит, т.е. ты будешь удалять все и заного заливать или как?
Sergey
я просто укажу в inventory нужную версию артифакта. типа так:
[all:vars]
component1_version: v1.5.9
component2_version: v1.5.7
ну и меняй на здоровье как угодно.
понятно, конечно, что версию схемы в базе просто так не поболтаешь вверх-вниз, но и там нужные подходы реализовать возможно.
Александр
Ммм.. т.е. в зависимости от ситуации у тебя тот или иной дергается
Александр
И если к тебе приходят и говорят, надо то-то, ты просто добавляешь его
Александр
Понятно
Sergey
Про удаление - удалять что-то куда-то не имеет особого смысла (как раз на случай резкого отката и дальнейшего перехода к blue-green deployment).
Вместо этого использована определённая схема путей в ФС при создании пакета, когда у тебя в системе могут находиться и не мешать друг другу различные версии одного и того же компонента.
Александр
Надо попробовать так сделать, у меня просто задачи такой не было, даже не задумывался об этом. Спасибо за направление