Size: a a a

2020 February 17

AO

Alexander Ovchinnikov 🦁 in PiterPy Meetup
то есть на CI генерим некую статическую версию, а потом работаем с ней, загрузки тоже через CI
источник

AO

Alexander Ovchinnikov 🦁 in PiterPy Meetup
не через какие-то pip/poetry
источник

RS

Rust Saiargaliev in PiterPy Meetup
Всё будет 😉
источник

AO

Alexander Ovchinnikov 🦁 in PiterPy Meetup
то есть в самом идеальном варианте на выходе просто некий бакет на GCS/S3 со статическими файлами и всё, его достаточно, а все функции дёргаются на CI при любых изменениях
источник

AO

Alexander Ovchinnikov 🦁 in PiterPy Meetup
ну, и вот тут вопрос с обеспечением доступа есть - извне надо этот бакет закрывать, при этом доступ у разработчиков к нему должен быть (на чтение)
источник

AO

Alexander Ovchinnikov 🦁 in PiterPy Meetup
а доступ на запись у скриптов на CI
источник

AO

Alexander Ovchinnikov 🦁 in PiterPy Meetup
и вот тут явно не хватает какого-то куска кода на poetry, чтобы обеспечить доступ к закрытым бакетам
источник

AO

Alexander Ovchinnikov 🦁 in PiterPy Meetup
источник

AO

Alexander Ovchinnikov 🦁 in PiterPy Meetup
судя по всему, решением по умолчанию сейчас является pypicloud, как по мне - это выглядит как переходный вариант
источник

RS

Rust Saiargaliev in PiterPy Meetup
Alexander Ovchinnikov 🦁
судя по всему, решением по умолчанию сейчас является pypicloud, как по мне - это выглядит как переходный вариант
Я вот не хочу чтоб там бд была, ну зачем оно
источник

AO

Alexander Ovchinnikov 🦁 in PiterPy Meetup
а я и скриптом не хочу в идеале)
источник

AO

Alexander Ovchinnikov 🦁 in PiterPy Meetup
просто пачка статических файлов
источник

p

pragus in PiterPy Meetup
Alexander Ovchinnikov 🦁
просто пачка статических файлов
А бывают динамические?
источник

RS

Rust Saiargaliev in PiterPy Meetup
Alexander Ovchinnikov 🦁
а я и скриптом не хочу в идеале)
Ну ты в любом случае даже на CI при релизе пакета своего хочешь заливать эти файлики куда-то и валидировать всякие штуки аля:
1. ты заливаешь валидные файлики
2. ты не перезаливаешь файлики с той же версией что уже существует
3. что-нибудь еще

то есть это так или иначе скрипт
источник

AO

Alexander Ovchinnikov 🦁 in PiterPy Meetup
pragus
А бывают динамические?
ну, вот эти pypi репозитории - это же скрипты обычно
источник

AO

Alexander Ovchinnikov 🦁 in PiterPy Meetup
например, если там есть поддержка загрузки, то оно уже статическим быть не может
источник

AO

Alexander Ovchinnikov 🦁 in PiterPy Meetup
Rust Saiargaliev
Ну ты в любом случае даже на CI при релизе пакета своего хочешь заливать эти файлики куда-то и валидировать всякие штуки аля:
1. ты заливаешь валидные файлики
2. ты не перезаливаешь файлики с той же версией что уже существует
3. что-нибудь еще

то есть это так или иначе скрипт
на CI все сложные скрипты, да
источник

AO

Alexander Ovchinnikov 🦁 in PiterPy Meetup
то есть чем меньше скриптов "попой в интернет" торчат, тем лучше, когда их можно заменить на статику - лучше заменить на статику, а то, что запускается на CI - это ведь даже не production, плюс оно запускается 1 раз и выключается через некоторое время, а не висит как демон постоянно...

по пунктам выше:
1. я не заливаю файлы, я заливаю репозиторию с либой, CI делает .whl и потом копирует их на бакет и потом регенерирует .html-файлы для репозитория
2. ну, такое теоретически может получиться, если залить новый код и в version указать старую версию, я не знаю, как это лучше обрабатывать
3. что именно?
источник

RS

Rust Saiargaliev in PiterPy Meetup
Alexander Ovchinnikov 🦁
то есть чем меньше скриптов "попой в интернет" торчат, тем лучше, когда их можно заменить на статику - лучше заменить на статику, а то, что запускается на CI - это ведь даже не production, плюс оно запускается 1 раз и выключается через некоторое время, а не висит как демон постоянно...

по пунктам выше:
1. я не заливаю файлы, я заливаю репозиторию с либой, CI делает .whl и потом копирует их на бакет и потом регенерирует .html-файлы для репозитория
2. ну, такое теоретически может получиться, если залить новый код и в version указать старую версию, я не знаю, как это лучше обрабатывать
3. что именно?
Твой репозиторий с html файлами же и будет тем самым ресурсом "попой в интернет", который всегда доступен?
источник

AO

Alexander Ovchinnikov 🦁 in PiterPy Meetup
и ешё момент - CI для сборки/публикации питонячьих пакетов вот именно тут не обязательно привязывать к push'ам в git
то есть разработчик может сделать команду запуску сборки на CI gcloud builds submit library/superliba --project=my-project-12345
источник