
ptchol
26.03.2018
09:12:21
Расскажите мне как метапакеты решают проблемы идемпотентности
Весь во внимании

dk
26.03.2018
11:09:46

ptchol
26.03.2018
11:13:06
lol kek

Google

Xeniya MTS
26.03.2018
18:29:09
И причем тут метапакеты ?
в метапакет забиваешь в зависимости точные версии пакетов. Всё хранишь в yml. Дальше всё автоматически проверяешь в дженкинсе, и докере, что не сломалось.
Жалко, что я эту утилиту написала для работодателя. Но я думаю, что я её перепишу с нуля, и выложу в опенсурс
там не то, что бы большая штука, так, строчек 600 кода на питоне
Но я ленивая :(

ptchol
26.03.2018
19:31:45
пиздец
и как связана идемпотентность и версионирвоание ?
вот было у тебя исторически 10 версий.
и везде менялось что то в пост инсталах \ пре инсталах \ командах запуска \ дефолтах
как проверить что обновление с любой на любую версию проходит без проблем
ты что тестируешь все возможновые комбинаторные варианты ?

dk
26.03.2018
19:35:45

ptchol
26.03.2018
19:37:30
я рад если у вас в пакетах так можно
вы типа все в /opt ставите да ?
и зависимостей от публичных пакетов у вас нет да ?

Google

dk
26.03.2018
19:38:24
Обычно мигрировать взад тяжко по большей часте из-за того, что БД так просто назад не прокрутишь

ptchol
26.03.2018
19:39:11
вобще это уже проблема приложения а не системы упаковки и доставки приложения
миграция по хорошему это такой же отдельный релиз приложения и её наливка не должна быть блокируещей а должна быть итерационной

Xeniya MTS
26.03.2018
19:40:27

ptchol
26.03.2018
19:40:44
а причем тут минорная версия вобще ?

Xeniya MTS
26.03.2018
19:41:03
и, кстати, код этой тулзы куда компактнее чем докера :)
вот
и глюков в ней меньше
нужно обязательно её рерайтнуть в опенсурс :(
ну и в паппете стоит "поставить такие-то метапакеты"
новый спринт - новый метапакет

ptchol
26.03.2018
19:42:54
господи
@dkguest ты можешь её объяснить ?

dk
26.03.2018
19:43:33
и зависимостей от публичных пакетов у вас нет да ?
1) Локальные репы базовых пакетов, из локальных реп ничего не удаляется (нет, много места не надо и 10-е рейды из 15крпм сасов тоже не требуются)
2) Все собранные локальные пакеты имеют версию/тег/коммит/бранч, в общем - понятно откуда взялись и никогда не удаляются
3) Если лень писать спек, то да - /opt/group/project
4) В паппетовых конфигурациях жестко расписаны версии основных пакетов
Но все это - боль

ptchol
26.03.2018
19:44:10
зависимости и идемпотентность последовательности операций, которые сложились в результате изменений в работе скриптов инсталяции пакета могут образовывать большое дерево потенциальных вариантов

dk
26.03.2018
19:44:11
Она и есть - метапакет

ptchol
26.03.2018
19:44:33
и ты не можешь гарантировать результат, если ты конечно не делаешь так, как описал @dkguest

Xeniya MTS
26.03.2018
19:45:05

Google

Xeniya MTS
26.03.2018
19:45:18
конечно, версия спринта ставится в хиере
для клиентского сервера

dk
26.03.2018
19:45:32

Xeniya MTS
26.03.2018
19:45:51
(в идеале)

dk
26.03.2018
19:46:07

Xeniya MTS
26.03.2018
19:46:29
ну если достать из бэкапа, всегда работает. Если не достать, ну могут быть проблемы, да

ptchol
26.03.2018
19:46:36
А Ксюша не поняла, и наседает со своими метапакетами и тем какже у неё всё круто заскриптовано

Xeniya MTS
26.03.2018
19:46:41
у нас бывают проблемы с обратной совместимостью
признаю

ptchol
26.03.2018
19:46:54
жаль то нахер это никому не нада ) и докер это всё делает одной тулзой )

Xeniya MTS
26.03.2018
19:47:03
если всё сломалось, мы можем забить на пару часов данных и назад откатить
такое было
и работает стабильнее
в 500 строках кода нечему ломаться
:)

ptchol
26.03.2018
19:48:13
твои спеки + код паппета твой + сам код паппета + обвязки ко всему этому, они больше чем докер и докерфайлы
если уж ты начала так сравнивать

Google

ptchol
26.03.2018
19:48:40
имиджи можно и без докера собират ьпри желании как бы
tar.gz и погнали
но это для образованных, не образованным бояться и тыкать "уууу докер злооо"

Xeniya MTS
26.03.2018
19:49:35

dk
26.03.2018
19:49:57

Xeniya MTS
26.03.2018
19:50:03
я не знаю, как жила бы без него в нашем CI
дженкинс и докер ❤️

ptchol
26.03.2018
19:51:23
а почему для ранчера ?
scratch же это просто FROM с бинарём

Xeniya MTS
26.03.2018
19:52:11
что бы не деплоить с нуля
ночью ещё полный деплой запускается
прошли тесты = записался образ

ptchol
26.03.2018
19:52:42
и как шедулер связан с CI ?

Xeniya MTS
26.03.2018
19:52:45
и на него уже применяется новый коммит

ptchol
26.03.2018
19:53:09
rancher вобще абстракция дико выского уровня

Xeniya MTS
26.03.2018
19:53:14
быстрее проходит тестовый деплой паппета, если уже на настроенной частично системе

ptchol
26.03.2018
19:53:16
как вы вобще к нему приехали

Xeniya MTS
26.03.2018
19:53:23
я не знаю, что бы я делала без докера

Google

Xeniya MTS
26.03.2018
19:53:33
у нас полный деплой приложения 2 часа :(

dk
26.03.2018
19:53:45
Для rpm:
- 1 репа в ней приложуха и следующие файлы
- 5 строк в .gitlab-ci.yml
- package.spec.in опционально (если не хочется, чтобы оно все в /opt сложило)
- yum install mypackage
Для docker:
- репа с пакетом, версионирование бранчами
- репа с конфигом, версионирование бранчами и внутри конфигов (докер и ранчер композы) тоже надо прописать версии
- джоба в дженкинсе, там тоже надо все прописать, мышкой тыкаем run-job
- потом идем в ранчер и там мышкой...
как вы вобще к нему приехали
Это было еще до меня, я вообще туда шел на микросервисы посмотреть т.к. пакетную сборку я видел, умею и вообще - пора расти дальше. А там такое...

ptchol
26.03.2018
19:56:36

dk
26.03.2018
19:57:14
Конфиг композа - чтобы собрать имидж и поставить контейнер

ptchol
26.03.2018
19:59:04
а вот тут вопрос
что проще читаться будет композ + докерфайл или спек + иниты + конфиги к ним хз где раскиданные
незнакомому человеку

dk
26.03.2018
20:01:01
Вопрос интеграции или не вопрос интеграции, но пока девопсы мне собирали контейнер для приложухи (все еще собирают), я успел запилить скрипты для сборки рпм-пакетов (гитлабовским раннером в докере, бггг), сделать из этого мало-мальски универсальное ci, создать приватную репу и собрать пакет пригодный к установке и работе на центоси. Тем времени в Виллабаджо все еще моют посуду...
Это вопрос реализации, я не знаю беспрактисес, а посмотреть негде, на митапах особо не разнюхаешь - как взрослые этим занимаются

ptchol
26.03.2018
20:02:55
как то начинали с того что пытались доказать что технология гавно а выясняется опять что люди дебилы

dk
26.03.2018
20:03:21
незнакомому человеку
Ему конфиги ci еще найти надо будет. Они в другой репе лежат, в специальном бранче. А потом найти джобу в нужном дженкинсе.

Xeniya MTS
26.03.2018
20:03:30
это ошибка. Это нишевая штука, вроде node.js
для кого-то ок, а для кого-то нафиг не нужное говно
у кого монолит

ptchol
26.03.2018
20:06:04
я понимаю что тебе насрать на историю, но ты не права.
как бы вся история программирования она про то, чтобы как раз воспроизвести эту слабую связность с удобными методами управления ей

Xeniya MTS
26.03.2018
20:06:37

ptchol
26.03.2018
20:06:47
и даже энтерпрайзы всю жизнь к этому стремятся