Sander
для валидации чего? если ты про CI это отдельная тема.
Lev
почему бы не тестировать и публиковать одним софтом, а машины настраивать другим?
Alexey
Sander
🤔
Lev
мне только дженкинс и стеш встречается, я бы попробовал гитлаб, если бы начинал :)
Lev
* бамбу
Sander
gitlab я буду брать тоже, но пока что мне надо это сделать, чтоб запускалось вручную
Sander
это все ci в общем и репозитории
nvkv
Sander
вот вот
Sander
я тоже не понял (
nvkv
дженкинс сам по себе ничего не деплоит
nvkv
и стеш с гитлабом тоже
nvkv
(я деплою ансиблом, если что)
Sander
😀
Lev
я просто не понимаю, что вы деплоите, если для этого вам нужен менеджер конфигураций
Lev
это замена каким-то скриптам?
nvkv
софт, внезапно
nvkv
да
Lev
м, а в джобах это нельзя описать?
nvkv
в каких джобах?
Lev
джобы они же задачи сборки/публикации
nvkv
ты какими-то общими словами говоришь, бро
nvkv
у тебя есть задача, надо взять байты и правильно их разложить на другой машинке
nvkv
потом в правильном порядке перезапустить что тебе там надо
nvkv
и, желательно, сделать это предсказуемо и идемпотентно
Роман
Как как?)
nvkv
ну и вообще, хранить логику деплоя в CI это очень скверная идея
nvkv
Это даже не матюк
nvkv
https://ru.wikipedia.org/wiki/Идемпотентность
nvkv
:)
Sander
👏
Lev
ну мож вы софт не тот выбрали? ansible – это про управление конигурацией, или нет?
nvkv
про неё
nvkv
а чем принципиально управление конфигурацией от деплоя отличается?
Lev
если у тебя все настроено, то тебе надо лишь донести)
nvkv
донести и, как минимум, дёрнуть рестарт сервисов
nvkv
а то ещё в процессе, не дай Бог, базу мигрировать
nvkv
или конфиги перегенерить
Dmitry
:)
Dmitry
программирование на конфигах
Dmitry
again
Dmitriy
ой. Семён, я ж не тебе пишу.
Dmitriy
Lev
Окок) если нет своего инструмента, то почему нет
Alf 🙀
https://github.com/myplaceonline/posixcube
тут кстати пока стоик писали, другие уже с решением пришли.
maniac
Alf 🙀
maniac
как альтернативу софту по теме.
но там еще всего нет, если сравнивать с.
Dmitrii
Какой ад.
Dmitry
Bogdan (SirEdvin)
Bogdan (SirEdvin)
Приходится использовать в случаях, когда проверка возможна только через статус задачи
Sander
======
Помогите, как вставить переменную с массивом в roles.
Мне это надо, чтоб устанавливать для разных проектов, необходимые ему контейнеры.
hosts_vars:
---
domain: site.ru
roles_conf:
- application
- php-fpm
- nginx
website.yml
---
- hosts: "site.ru"
become: true
roles:
"{{ roles_conf }}"
так конечно не работает
но в docker_containers хелпере, такой метод работал.
Albert
Энтер убери
Sander
пробывал
Sander
уже
Sander
The error appears to have been in '/ansible/app.yml': line 2, column 3, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
Sander
@Tahvok
Sander
---
- hosts: "sajt.ru"
become: true
roles: "{{ roles_conf }}"
Albert
Тогда никак.. Я помню мне @bcoca по irc рассказывал что есть вещи которые ансибл читает, до превращения параметров из jinja2 в обычный yaml.
Ролы логично что одни из них.
Albert
Кстати, именно поэтому и никакие нормальные возможности из jinja2 не работают
Sander
просто у меня в конфиге
roles_conf:
- application
- php-fpm
- nginx
и надо чтоб он эти контейнеры запустил
Sander
я думал в roles сделать
Sander
но он так не идет
Sander
((
Sander
😢
Albert
Типа {% if %} (с новыми строчками) и т.п.
Sander
в yml нельзя же j2
Albert
Ну две возможности: напиши два разных плея, и запускай каждый по нужде через when
Либо сами роли через when
Albert
Sander
как
Sander
🙏 пожалуйста подскажи как
Albert
Если писать {% if %} на одной строке, то будет работать
Sander
🤔
Sander
мне для ролей как-то надо
Albert
Но опять, какая надобность динамически подставлять роли?