
Zhiganov
05.10.2018
15:08:56
я тоже так не хочу делать, но дело в том что нужно все это раскатать на среде ограниченой с доступом в интернет и сижу думаю как бы автоматически собрать pymongo
shell это точка отхода когда не придумаю как собрать модуль питона

Victor
05.10.2018
15:10:04
Я к тому что из официальных реп дебиана меня, например, монга не устроила

Google

Zhiganov
05.10.2018
15:10:35
сам монго поставлен, но когда начинаю юзать mongo_users ругается что нету pymongo

Victor
05.10.2018
15:11:10
У меня проблемы были вроде дальше, чем pymongo

Zhiganov
05.10.2018
15:11:25
у меня там локальный yum repa и я отуда тяну рпм, но что бы поставить pymongo нужно кучу депов выкачать что бы поставить pymongo

Victor
05.10.2018
15:12:26
Feel your pain

inqfen
05.10.2018
15:36:39
Используй как написано, если не хочешь геморроя как у господина выше был

Vladislav
05.10.2018
15:40:47

Egor
05.10.2018
15:42:25

Vladislav
05.10.2018
15:42:57
вот это я гуглил-гуглид, да не нашел ничего такого )
только ansible examples, что мало чем помогло

inqfen
05.10.2018
15:43:10

Nikolay
05.10.2018
15:43:43
Ну и зачем оно
Ну есть, например человек А, далекий от шелла, но кое какие задачи ему нужно выполнять и чтобы он не мучился с mc и прочей нечестью, проще ему написать плейбук и сказать «жми сюда и жди сообщение, что все окей», ну и самому зачем дергать все руками, когда можно не дёргать

Google

inqfen
05.10.2018
15:44:39
Есть гитлаб ci, teamcity, Jenkins которые прекрасно решают эти задачи и часто намного лучше

Nikolay
05.10.2018
15:46:19

inqfen
05.10.2018
15:46:39
Так а ими можно и не только деплоить

Vladislav
05.10.2018
15:46:53
Ещё раз cd изобретают?
А подскажи, пожалуйста,
если нужен репозиторий (один) с ansible данными чтобы деплоить штук 6 проектов, у каждого там и stage, и production, etc,
то структуру папок из best practices лучше будет поменять ?

Nikolay
05.10.2018
15:46:55
Так а зачем?

inqfen
05.10.2018
15:47:40
Есть проект a
Или разные инвентори
В зависимости от проекта
У меня вот разные инвентори

Vladislav
05.10.2018
15:48:39
такой вариант подойдет по структуре ?
(я еще не сильно въехал, но не хотел бы допустить ошибку и все переделывать)
для развертывания каждого проекта использовать свой .yml файл хочу, для bfn - bfn_api.yml

inqfen
05.10.2018
15:50:25
Проджект специфик вещи и уноси в проекты
Я с этим тоже уже наебался

Vladislav
05.10.2018
15:51:53
ок, спасибо, буду пробовать

Google

inqfen
05.10.2018
15:53:00
если есть общие наборы тасков (билд симфони например) - выделяй в роли
А в проектах их уже импортируй
Так а зачем?
Ну, как правило если требуется подобная система, то CI/CD есть или уже назревает
А это дублирование функционала

Vladislav
05.10.2018
15:54:23
да, спасибо, все (почти) проекты по одному шаблону построены и чтобы их на stage залить, нужны почти одни и те же шаги, только с разными variables

inqfen
05.10.2018
15:55:10
Ну вот, сделай роль deploy например, в каждом проекте заведи свои инвентори и плейбуки и в плейбуке просто импортируй роль
Роль выкини в отдельный репозиторий и забирай перед стартом плейбука через ansible-galaxy
Зато потом не придется трахаться если нужно для всех проектов внести изменение (типа шиблон докер файла изменить или ключи при деплое где-то), а везде все отдельно

Vladislav
05.10.2018
15:56:41

inqfen
05.10.2018
15:56:48
внес в роль - все подхватили
Если у роли есть версионирование - внес в роль, сделал новый тег

Vladislav
05.10.2018
15:57:13

inqfen
05.10.2018
15:57:25
Потом огда в проектах вносишь необходимое изменение - указал новую версию роли для импорта

Vladislav
05.10.2018
15:58:02
в одном скрипте все проекты, ./deploy.sh bfn_api
и он делал всю работу
а мне нужно одну репу на все проекты, только чтобы разными командами их запускать

inqfen
05.10.2018
15:58:42
Потому что был костыль
А ты костыль причесываешь

Google

inqfen
05.10.2018
15:59:40
Меняешь деревянную перекладину на металлическую

Vladislav
05.10.2018
15:59:45
)

inqfen
05.10.2018
15:59:48
Но это все равно костыль

Vladislav
05.10.2018
16:00:01
а ты предлагаешь отдельный реп заводить для деплоя отдельного проекта ?

inqfen
05.10.2018
16:00:28
нет, почему, все, что относится к проекту - складывать в проект

Vladislav
05.10.2018
16:00:31
и сделать один реп с общими данными для каждого проекта ? (где шаги деплоя описаны)

Admin
ERROR: S client not available

inqfen
05.10.2018
16:00:41
создаешь в нем директорию deploy
там заводишь inventory
playbook, ключи на серверы, еще что-то
А вот роли деплоя выносишь отдельно
Иначе вот у тебя например 10 проектов, все разворачивались одинаково

Egor
05.10.2018
16:01:37

Vladislav
05.10.2018
16:02:03
ага, понял, ну я попробую сначало чтобы оно заработало хоть как-то, а потом уже просто вынесу отдельно в проекты inventory

inqfen
05.10.2018
16:02:06
Потом в один проект например добавили новую БД

Vladislav
05.10.2018
16:02:10

inqfen
05.10.2018
16:02:11
А остальным она не нужна

Kirill
05.10.2018
16:02:22

inqfen
05.10.2018
16:02:25
и что, будешь when пихать?
а в другой добавили redis

Google

inqfen
05.10.2018
16:02:39
а в третий еще что-то

Vladislav
05.10.2018
16:03:13
ок, т.е. общие таски в отдельный реп, специфичные для проекта - вместе с проектом, верно ?

inqfen
05.10.2018
16:03:33
из общих тасков делаешь роль и ее отдельно
Остальное в проект
потом плейбуки получатся типа
- hosts: project1
tasks:
- name: include postges role
include_role: postges
- name: include redis role
include_role: redis
- name: include deploy role
include_role: deploy
- hosts: project2
tasks:
- name: include mysql role
include_role: mysql
- name: include elascticsearch role
include_role: elasticsearch
- name: include deploy role
include_role: deploy
- name: make migrations
shell: docker exec project d:m:m
Ну что-то типа вроде
И не будет лабиринтов из это делать это не делать, деплой апдейтится несовместимо (убирается таск например) - нужно все проекты одновременно подстраивать

Zhiganov
05.10.2018
16:08:50

Vladislav
05.10.2018
16:08:51
ага, понял, ок, именно так тогда и буду пробовать сделать

Egor
05.10.2018
16:10:00

Zhiganov
05.10.2018
16:10:11
Спасибо ;)

inqfen
05.10.2018
16:13:04

Vladislav
05.10.2018
16:14:09

inqfen
05.10.2018
16:14:40
Разберись, очень пригодится, он простой

Egor
05.10.2018
16:15:00

Vladislav
05.10.2018
16:15:34

inqfen
05.10.2018
16:16:25

Rgboy
05.10.2018
16:44:32
Ребят, из тех кто пользует ansible из docker, вам встречались подводные камни ?

Egor
05.10.2018
17:06:38