@mkmister

Загрузить/обновить файлы в репозиторий GITLAB, лучший путь?

Всем доброго времени суток, я начинающий веб-разработчик, так что тапками прошу не кидаться :) Хочу отметить, что задача решается на стеке python&&django, но если вы имели опыт решения аналогичной задачи на другом стеке(, ЯП) мне он также очень интересен.

К сути дела, стоит следующая задача:

Необходимо реализовать сервис(приложение/веб-интерфейс), который поможет делать коммиты, с соответствующими файлами. Я получаю доступ к аккаунту user-a через API, посредством access_token-а, сообщение коммита, ветку и архив с файлами и !директориями(через уже разработанный мной интерфейс).

Далее распаковываю архив во временную директорию и вот тут встаёт вопрос:
Каким образом лучше решить задачу отправки файлов и commit-a.

На данный момент, исходя из документации по API я вижу только 2 пути:

  1. Клонировать репозиторий, который может быть достаточно больших размеров, на что может уйти неизвестное время, и затем производить все дальнейшие манипуляции уже непосредственно через git. Тут есть 3 нюанса(я уверен, что даже больше): длительность всего процесса, проблемы с обработкой ошибок и самый главный это авторизация, так как в моем приложении пароль и логин от аккаунта пользователя на gitlab не хранится и храниться не будет, и пользователь авторизован в моём приложении пока не удалит условный sessionId из cookie.
  2. Строить n-ый список запросов, или использовать пакет python-gitlab(что несильно упрощает задачу), и encode-ть каждый файл перед отправкой в base64, на что тоже может уйти неопределенное время. Стоит отметить что файлы могут самых разных типов psd, exe, txt, py, js и т.д.
  3. Может вы что-то предложите ? :)


Так вот какой путь лучше и почему ?
  • Вопрос задан
  • 530 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы