
ptchol
31.10.2016
12:25:27
буквально несколько лет и мы победим рак с такими возможностями.
и в космос полетим.
или это было уже ?

yopp
31.10.2016
13:06:34
В симпсонах в 1988 году

Google

Dmitrii
31.10.2016
17:25:48
@freeseacher ну в общем, вот. В одном проекте девелоперы уже начали получать варгрант боксы к себе )
Пиздец конечно сколько всяких граблей было оббито

Алексей
31.10.2016
17:26:16
Трави

Dmitrii
31.10.2016
17:26:37
Черт в деталях, ты е знешь

Алексей
31.10.2016
17:26:54
Много баша?

Dmitrii
31.10.2016
17:27:04
Где то вагрант нужен выше 1.8.6

Алексей
31.10.2016
17:27:08
Експект експекта?

Dmitrii
31.10.2016
17:27:31
де то такая хуета:
"echo 'Hot-fixing https://github.com/mitchellh/vagrant/issues/7368'",
"sudo grep -q 'mesg n' /root/.profile && sudo sed -i '/mesg n/d' /root/.profile",
Потом...
Как пожать бокс, чтобы не качать 2 гига с интернета:
"sudo dd if=/dev/zero of=/DEFRAGMENTATION bs=1M || true",
"sudo sync",
"sudo rm -f /DEFRAGMENTATION",
"sudo sync"
И вот такого дерьма в итоге скопилось навалом )
В целом работает, после vagrant up девелопер может писать код.
Написал плейбук в ансибле, который дампит прод, и льет дамп для девелоперов в наш реджистри в S3, оттуда потом ансибл плейбуком забирается база, которая воткнется в бокс девелоперу

Google

Dmitrii
31.10.2016
17:30:41
Кучу всего пришлось сделать в общем, чтобы дойти до того, чтобы было реально в один клик.
Сами боксы заливаем в платный атлас
Билдим пакером + ансибл

Алексей
31.10.2016
17:33:51
Ясна. Много девелоперов?
Зачем платный атлас?

Dmitrii
31.10.2016
17:34:41
Девелоперов меньше десяти
Чтобы вагранту не пихать полные адреса до сервера с метадатой, чтобы не управлять метадатой вручную (версии)
Платный атлас решает проблему доступа к боксам
Теперь девелопер должен сделать vagrant login перед началом работы.
В принципе можно свое на коленке сделать, но у меня щас задача не атлас скопировать )
Еще напоролся на грабли, когда есть файл с параметрами, и в гите он не лежит, параметров так дохера что девелоперы часто делают некорректную конфигурацию даже если есть dist файл
Было решено генерить этот файл ансиблом тоже

Constantine
31.10.2016
17:39:21
Димас, а ты какую должность у себя в конторе занимаешь? в devops таки ушел?)

Dmitrii
31.10.2016
17:39:27
Но в итоге когда делаешь vagrant up оно файлы хоста считает приоритетными и версию из бокса затирает к хуям
Решили в итоге, что для девелопмента этот файл будем генерить в ~/.parameters.php + локальный провижен вагранта (средствами вагранта) с флагом run: always
В нем мы копируем эти параметры, которые были закомичены мною, и в итоге они приедут всем разработчикам, даже если они испортили что-то в этом файле. Или там появилась новая структура

Алексей
31.10.2016
17:49:39
Есть диаграмка?

Pavel
31.10.2016
19:56:44
чуваки глянье на contribution activity на гитхабе, квадратики стали хэллоуиновскими
Они нарушают мои релизиозные чувства, нетолерантные сволочи

Google

Pavel
31.10.2016
20:01:17
прикольно опечатался

Александр
31.10.2016
20:01:29
Я думал специально написал.

Pavel
31.10.2016
20:02:16
неа

Dmitrii
31.10.2016
20:08:49

Алексей
31.10.2016
20:09:07
ну как оно всё вместе связано

Dmitrii
31.10.2016
20:09:30
Пока нет

Алексей
31.10.2016
20:09:43
всё равно же для доки рисовать :)


Dmitrii
31.10.2016
20:10:02
Думаю через неделю появится
всё равно же для доки рисовать :)
Короче, схема такая.
Есть свой сервис — registry для дампов базы данных.
Состоит из nginx который, запрашивает Basic auth и проксирует запросы в приватный S3 бакет, где лежат все дампы.
Есть приватный Atlas — для хранения билдов VirtualBox.
Билды туда заливаются при помощи Packer Atlas post processor.
В ансибле написаны следующие плейбуки:
1) ETL. Идет в амазон, создает инстанс, качает на него дамп базы с прода (с реплики), делает какие-то действия, например деперсонализацию, установку пароля 12345 для всех пользователей и т.д. Скачивает туда, откуда запустили плейбук, удаляет инстанс к хуям.
2) Плейбук, который заливает архив с базой в наш registry. Заливает под определенной датой, делает симлинк на current архив.
3) Плейбук, который разворачивает базу из registry на целевой машине.
Далее с помощью Packer собираем VirtualBox образ, травим на него плейбуки приложения + плейбук №3.


Zon
31.10.2016
21:47:16
А кто плейбук запускает?

Dmitrii
31.10.2016
21:47:41
Который из

Zon
31.10.2016
21:48:28
Первые два. Последний видимо разраб

Dmitrii
31.10.2016
21:49:03
Плейбуки №1 и №2 запускаются в CI джобе каждую ночь
Для плейбука №3 есть несколько вариантов:
1) Запускать руками (не мой вариант)
2) Собирать автоматически хуком пуллреквеста на гитхабе
Для варианта №2 есть еще 2 варианта... Собирать в Hetzner или собирать в HashiCorp Packer. Я буду делать это в HashiCorp.
Опечатался, не для плейбука №3 а для последнего пункта где речь про билд образа
Сам плейбук №3 запускается пакером при сборке образа.
Т.е. сегодня на моих глазах, разработчик написал vagrant up и получил рабочий сайт с базой за сегоднюшнюю ночь.
Охуенно же.

Zon
31.10.2016
21:54:08
Добро! А CI какая?

Google

Dmitrii
31.10.2016
21:54:19
Параша. Не спрашивай ?
https://harrow.io

Zon
31.10.2016
21:54:51
Даже не слышал

Constantine
31.10.2016
21:54:58
контора готова платить бабки на aws, но пользуешься CI парашей ))

Dmitrii
31.10.2016
21:56:00
Меня принудили. Я готов выкинуть нахуй это как только мне позволят.
Знаешь, типа есть такое мнение, когда продукт разрабатываешь, то надо самому им пользоваться. Ну так вот пользоваться заставляют им меня, а делают другие челы.
Как то связаны с моей конторой

Constantine
31.10.2016
21:58:29
?

Admin
ERROR: S client not available

Pavel
31.10.2016
21:59:06
> есть такое мнение, когда продукт разрабатываешь, то надо самому им пользоваться.
точно, это же одна из заповедей стартапера
хорошо что твоя компания в mysql не контрибутит

Dmitrii
31.10.2016
22:01:46
Каждый раз когда я своему начальству говорил как же хуево что-то сделано в этом harrow и адски тупит, и что фичу X можно сделать в Jenkins ну за день, на след день их овнер сидел у нас в офисе и ему ебали мозги все кому не лень по этому поводу.
Чел этот, кстати, автор Capistrano
Так что, если надо срочный фичреквест в капистрано сделать — обращайтесь ?

Pavel
31.10.2016
22:03:51
Зато наверно у вас все капистраной деплоится

Dmitrii
31.10.2016
22:04:02
Ото-ж!

Pavel
31.10.2016
22:04:14
Независимо от того хотите вы этого или нет ?

Constantine
31.10.2016
22:04:35
каписрано когда стал версии 3, стал странным

Dmitrii
31.10.2016
22:04:49
Тут альтернатив пока не вижу. Разве что по типу докерного деплоя.

Constantine
31.10.2016
22:04:50
помню свой переезд с 2 на 3, даже допиливать что-то приходилось на рубях для проекта

Google

Алексей
31.10.2016
22:18:02
а я сегодня видел слово ansistrano
а видел ли его еще кто нть ?

Pavel
31.10.2016
22:19:26
Я смотрел но в итоге не увидел сильного профита от использования этой роли

Dmitrii
31.10.2016
22:20:21
Странно что еще не появился dokestrano

Pavel
31.10.2016
22:23:45
Capidocker для деплоинга контейнеров на руби

Phil
01.11.2016
08:12:02
Вышел Ansible 2.2.
Основные новшества:
- серьезные улучшения в производительности;
- добавлена поддержка бинарных модулей;
- meta таски теперь поддерживают условия;
- добавлена meta таска 'end_play', позволяющая закончить плей;
- теперь можно подключать роли прямо посреди списка тасок с помощью include_role;
- факты для Windows частично приведены в соответствие с форматом фактов для Unix-систем;
- почти завершен переход на Python 3, фича находится в статусе Tech Preview
- ну и куча новых модулей, в частности появились win_command и win_shell
http://amp.gs/TLAY

Artur
01.11.2016
08:28:56
расскажите, что такое бинарные модули, пожалуйста
и почему все так дрочат на винду в последнее время?
докер радостно рассказывает про винду, энсибл вот пилит

hdhog
01.11.2016
08:33:30
Ну так чтоб иметь полный охват ос

Алексей
01.11.2016
08:33:32
винда видимо башляет

hdhog
01.11.2016
08:33:38
Отсюда и большую аудитоию)

Phil
01.11.2016
08:35:04

Artur
01.11.2016
08:42:54
не понимаю всё равно, что значит "бинарный модуль"?

Phil
01.11.2016
08:43:15
написал на Си, скомпилировал, положил в libs

Алексей
01.11.2016
08:43:45
думаю заточка в сторону коммерческих модулей

Aleksandr
01.11.2016
08:44:00

Phil
01.11.2016
08:44:23

Алексей
01.11.2016
08:44:38
там проблема не в питоне же
а в шеле под капотом :)