@spbpython

Страница 195 из 785
Vitali K.
13.11.2016
19:35:30
amureki
13.11.2016
19:35:34
я на митапе был недавно, гитхабер рассказывал что и как они крутят-мутят

http://amureki.me/how-github-uses-github-to-deploy-github.html

вот тут по английски кратко описывал

Google
amureki
13.11.2016
19:36:06
они там, конечно, повернутые, но прикольно

Dmitry
13.11.2016
19:36:46
а по-моему, круто и умницы

amureki
13.11.2016
19:36:58
да, я в хорошем смысле имел в виду :)

слайды хотел залить, но там пдфка на 16 мб, думаю, ругаться будут)

Vitali K.
13.11.2016
19:38:25
Что в качестве CI используете, господа?

Dmitry
13.11.2016
19:38:40
я на митапе был недавно, гитхабер рассказывал что и как они крутят-мутят
прям завидую чёрной завистью, в берлине было дело?

amureki
13.11.2016
19:38:49
угу

Dmitry
13.11.2016
19:38:49
когда ещё такие конторы придут митапиться в питере

amureki
13.11.2016
19:40:10
(люблю тревис, но дорогой)

Dmitry
13.11.2016
19:40:45
travis circleci gitlabci
всё то же, разве что кроме трэвиса дженкинс

Vitali K.
13.11.2016
19:40:47
а че не jenkins например? он в AppAnnie используется - не знаю почему

amureki
13.11.2016
19:41:14
можно и дженкинс :) лишь бы работу свою выполнял

Google
amureki
13.11.2016
19:41:24
и укладывался в вашу инфраструктуру

Dmitry
13.11.2016
19:41:46
один седой девопс сказал мне что ci все отвратительны

нет хороших

у того же дженкинса интерфейс делали для инопланетян

и триггеры до сих пор берут и слетают рандомно. На последней версии. Это ж вообще никуда не годится.

ну и джава, конечно.

Vitali K.
13.11.2016
19:47:03
?

Dmitry
13.11.2016
19:47:32
ой, как-то я вбросил почти в роли зарта

простите

amureki
13.11.2016
19:48:00
без мата несчитово

Vitali K.
13.11.2016
19:48:21
?

Serge
13.11.2016
19:49:38
Да, надо бы circle посмотреть. Честно говоря gitlab CI уже вполне неплох

Вот прямо пока с ним даже не хочется свой пока пилить. А уже хотелось...

Vitali K.
13.11.2016
19:50:41
Вот скажем есть у вас 2 проекта. 1) Админка на джанге 2) API на Django Rest Framework И есть конечно какая-то общая среди них часть. Как вы организуете такой код?

Dmitry
13.11.2016
19:51:11
как назло два последних проекта не терпели облаков и хостились сугубо на железе

(я про сёркл-сиай)

Serge
13.11.2016
19:59:35
(я про сёркл-сиай)
А я думал оно on promise умеет

Тогда да, не интересно, остается gitlab и Jenkins, я то не слышал чтобы последнего за функциональность ругали. А интерфейс там, да, из параллельной вселенной с другими законами физики

amureki
13.11.2016
20:01:12
teamcity еще есть :)

Google
Vitali K.
13.11.2016
20:01:37
А я думал оно on promise умеет
enterprise тариф умеет

Vitali K.
13.11.2016
20:04:24
Вот скажем есть у вас 2 проекта. 1) Админка на джанге 2) API на Django Rest Framework И есть конечно какая-то общая среди них часть. Как вы организуете такой код?
ну вот можно положить все в одну репу в папки условно api django common можно 3 репы иметь и вычекивать их так же можно 3 репы и общую держать на как submodule и всякие другие варианты, да?

кто как поступает?

Zart
13.11.2016
20:04:55
Vitali K.
13.11.2016
20:06:20
не сталкивался с таким кейсом, честно говоря
может я что-то криво напридумывал. Django админ админит всякие сущности в базе. И DRF с ними рабатает. надо их как-то расшарить

Vitali K.
13.11.2016
20:06:54
вот что значит по пакаджам?

Zart
13.11.2016
20:07:13
каталог+__инит__

Vitali K.
13.11.2016
20:08:08
я пока сделал 3 папки в одной репе api django shared и установил PYTHONPATH=корень

Dmitry
13.11.2016
20:08:14
ну кстати да, я бы тупо оставил всё в одной репе

пока это не вызывает явных неудобств

вроде неудобств при докеризации

Zart
13.11.2016
20:08:41
учитесь питонопакаджингу

вечно джанга с этим в проёбе

Vitali K.
13.11.2016
20:10:02
Google
Zart
13.11.2016
20:10:47
оформить все пакетами по-человечьи и вписать в инсталл наравне с прочими

Zart
13.11.2016
20:11:16
ставить пипом, как джангу и ко

Vitali K.
13.11.2016
20:11:38
там же код живой, меняется. каждый раз ставить?

Andrey
13.11.2016
20:11:48
да, в чем проблема

Zart
13.11.2016
20:11:54
-e

Vitali K.
13.11.2016
20:12:21
что -e?

Zart
13.11.2016
20:12:36
нет проблем, не надо переставлять каждый раз надо учиться инструментам

pip install -e .

Vitali K.
13.11.2016
20:12:52
я не понимаю тезис про учиться

Admin
ERROR: S client not available

Vitali K.
13.11.2016
20:12:55
что нужно изучить

я поменял строчку кода и должен запутстить pip install?

Zart
13.11.2016
20:13:17
нет

учить создание пакетов питона

Vitali K.
13.11.2016
20:14:15
не понимаю :)

Zart
13.11.2016
20:14:20
я не могу нормально писать со сраной мобилы 8/

Vitali K.
13.11.2016
20:14:35
на про пакеты все еще не понимаю

Google
Andrey
13.11.2016
20:16:13
ну вот зарт тебе говорит, что есть опция, которая устанавливает тебе пакет в режиме разработки. то есть он не в site-packages будет лежать, а там, где ты код пишешь

Zart
13.11.2016
20:16:25
-e = --editable путь к коду впиливается в сис.патх и становится импортабельным. там редактируй сколько влезет

Vitali K.
13.11.2016
20:16:48
о! это хорошая новость

спасибо

Andrey
13.11.2016
20:17:03
ну и да, просто почитай про setuptools, там все написано

Zart
13.11.2016
20:17:18
раньше это делали через python setup.py develop

сейчас лучше про это забыть 8(

Andrey
13.11.2016
20:17:53
сейчас это в третьем питоне?

Zart
13.11.2016
20:18:21
сейчас - это после перехода на хренов пип

Andrey
13.11.2016
20:19:11
хм. у меня вроде в virtualenv'е работало. питон второй если что

Zart
13.11.2016
20:19:39
работает. но есть один нюанс (с)

на доклад тянет ;Р

Vitali K.
13.11.2016
20:25:46
Andrey
13.11.2016
20:32:45
собирать wheel и устанавливать из него. или прямо из гитхаба если хочется ощущений

Zart
13.11.2016
20:39:23
для азов изучать почти нечего

Vitali K.
13.11.2016
20:40:21
да я понимаю что там нету rocket science :D

Zart
13.11.2016
20:40:44
уф

добрался домой и до ноута

Vitali K.
13.11.2016
20:41:05
герой))) ты много написал с телефона. не каждый сможет))

Zart
13.11.2016
20:41:48
в общем для нормального деплоя на pypi, в продакшен или куда угодно - надо оформлять код в виде distribution

терминология: в питоне есть скрипты - то, что запускается непосредственно питоном, например python setup.py ... скрипты в общем случае могут иметь какие угодно имена/расширения, содержать произвольные символы (хоть пробелы, хоть точки) но традиционно юзают расширение .py, для гуи скриптов предусмотрено расширение .pyw, для активскрипт движка применяется .pys по мере того как язык развивался, понадобилось создавать более сложные конструкции, и тогда были добавлены импорты, которые работали с двумя видами сущностей: модули - исходные файлы на питоне с расширением .py пакаджи - каталоги, содержащие модуль __init__, и другие пакаджи/модули

Страница 195 из 785