Size: a a a

2021 November 02

IR

Ilkin Ramazanov in SPb Python
+++
источник

N

Nika in SPb Python
оуч. Если нет докера, базы тоже нет (у меня там запросы к bigquery), то есть проекты уровня дата саенс. мне надо добиться того, чтобы из разных проектов ставилось на сервак, чтобы в дальнейшем можно было использовать уже существующий проекты и код в airflow
источник

II

Ilia Ilinykh in SPb Python
Можно попробовать настроить Jenkins.
Вот тут просто инструкция как это делать для Python.

Вот как сделать интегарцию с BitBucket.

Самое простое (с моей точки зрения) — это на серваке, на который хотите установить приложение поставить Jenkins и настроить как описано в ссылках.
У BitBucket нет удобного CI встроенного (вроде)
источник

N

Nika in SPb Python
спасиб
источник

MA

Maxim Afanasev in SPb Python
Если BitBucket облачный - то есть BitBucket Pipelines, почти то же самое, что GitHub Actions, удобные
источник

MA

Maxim Afanasev in SPb Python
А вот в self-hosted да, нужно что-то стороннее прикручивать
источник

N

Nika in SPb Python
ну вот я не очень понимаю что к чему если я хочу установку пакетов только на конкретном серваке, но большую часть вопросов себе я сняла вспомнив про сабмодули (сразу понятно кто здесь профи =\\\)  а один проект через nginx и вебхуки я уж как-то настрою. ну и да, вполне логично звучит запрет от СТО на неручной апдейт сабмодулей.
источник

MA

Maxim Afanasev in SPb Python
Более правильный вариант будет включать упаковку кода, размещение пакета (или docker образа), установку его на сервер и, возможно, перезапуск сервиса.
Более простой - просто скопировать код через scp и через ssh перезапустить сервис
источник

N

Nika in SPb Python
а почему более правильный? или что можно почитать по этому поводу
источник

MA

Maxim Afanasev in SPb Python
Docker решает проблемы с окружением и зависимостями, не будет такого, что вы выкатили код, а он на сервере не запускается, потому что там другая версия библиотеки или прав где-то не хватает. Предсказуемость, в общем. С пакетами этой предсказуемости несколько меньше, хотя там можно указать зависимости. С деплоем по ssh - её вообще не будет, можно только надеяться, что всё сработает, а если не сработает - то идти на сервак и разбираться. В таком сценарии смысл в автодеплое исчезает, можно просто баш скрипт написать, положить рядом с кодом и запускать руками. Всё равно вам придётся контролировать, что всё успешно прошло
источник

MA

Maxim Afanasev in SPb Python
Вообще, вот так взять и из DevOps цикла вытащить отдельные элементы, типа автодеплоя, не получится. Это комплексный подход. Вот представьте, что у вас есть автодеплой. Но нет тестов и мониторинга. Т.е. вы что-то задеплоили, но не знаете, задеплоилось ли оно, работает ли, не сломалось ли что-то рядом. Получается, нужно вручную это контролировать. А это сводит на нет усилия, потраченные на автодеплой.
источник

N

Nika in SPb Python
ну задеплоилось или нет я увижу на странице airflow. тут как раз вопроса нет, тесты мы сюда тоже не прогоняем. по крайней мере пока.
источник

MA

Maxim Afanasev in SPb Python
Конечное решение всё равно на ваше усмотрение остаётся. Но в моей картине мира автодеплой по важности стоит сильно после тестов, CI, мониторинга и сбора логов. Т.е. такая штука, без которой вполне можно жить даже на серьезном продакшене
источник

N

Nika in SPb Python
половину вопросов как раз решает airflow, у меня по сути несколько скриптов по сбору данных, потому и выходит достаточно криво. Или инструкции на тяжеловесные etl, или же запуск ручками. потому и страдаем слегка( В идеальном мире дата аналитики немного не этим должны заниматься, но как есть
источник

A

Alexander in SPb Python
Автодеплоя куда? У вас выделенный сервер/виртуалка с голой жопой в интернет или же какое-то облако? Битбакет облачный или self-hosted?
источник

N

Nika in SPb Python
битбакет селхостед, сервак без голого выхода, нам настроили только через впн выход к airflow
источник

A

Alexander in SPb Python
В bitbucket есть возможность запускать pipelines со всякой развесистой логикой. Я так тесты автоматом гонял на облачном битбакете до тех пор пока на гитхаб окончательно не уехал. Так что для сборки и автодеплоя тоже должно подойти
источник

AA

Alex Antipov in SPb Python
Всем привет!

Как водится новоприбывшим, начинаю с вопроса.

Есть достаточно интепресная "задача восьми ферзей" по размещению ферзей на шахматной доске, чтобы они не атаковали друг друга. О задаче я узнал из видоса Hashcored на ютубе. Там она иллюстрирована на Scala, я для себя попробовал реализовать её на Python и уперся в проблему, что для некоторых размеров шахматной доски она работает корректно (4, 5, 7), а для некоторых - нет (6, 8).

Код: https://trinket.io/python3/055c60f8a0
источник

AA

Alex Antipov in SPb Python
источник
2021 November 03

AP

Andrey Petrov in SPb Python
Друзья, прошу прощения за вопрос не по теме группы. Может есть у кого знакомые толковые верстальщики, кто фрилансит в свободное от работы время или в принципе фрилансит?
источник