Всем доброго времени суток!
В общих чертах опишу суть проблемы.
Есть приложение и заказчик, который хочет, чтобы приложение работало только в локальной сети без доступа к интернету.
У меня уже был неудачный опыт работы в таком же режиме, когда единственный способ доставки кода до клиентского сервера - это отправка его по ssh через vpn. Не спрашивайте почему так, это было решение сверху.
В данной ситуации хотелось бы решить проблему с помощью Gitlab, но не знаю, будет ли работать такая схема:
на одной машине с доступом к интернету и к локальной сети заказчика запускается gitlab, а на второй запускается gitlab ранер и само приложение через CI/CD, но у 2 машины отсекаются все доступы к интернету.
Будет ли такая схема работать и какие еще нюансы по защите надо выполнить?
Собирай установочный пакет, в который складываешь все необходимые зависимости а главное, код обновления каждой предыдущей версии (обычно запускают последовательно серию скриптов обновления всей истории релизов, если процесс сложнее просто копирования файлов).
Не представляю, как ты собираешься настраивать gitlab репозитарий а главное зачем.
приложение - это веб приложение на Django.
Та как таких компаний заказчиков много и у каждого свои потребности будут, то мне показалось разумным развернуть на их машинах gitlab и уже индивидуально для каждой компании вносить изменения. Также gitlab использовать для развертывания на локальной машине
Не понимаю зачем нужен gitlab? Это же просто открытый аналог github, т.е. задачи выполняет те же - хранение, многопользовательское обслуживание, gui для некоторых операций мержинга кода и т.п.)
Вот у вас есть некоторое количество git репозитариев, в которых есть ваш код и код зависимостей, вы их собираетесь использовать чтобы итоговый проект собирался штатными инструментами автоматически, так?
Чтобы синхронизировать девелоперскую версию этих git на машине без интернета достаточно воспользоваться переносным носителем и парой скриптов, запускающих git fetch --all и последующей локальной пересборкой проекта.
rPman, я же написал, gitlab нужен для учета изменений и для доставки продукта на локальную машину используя CI/CD.
Gitlab не только может хранить код, но и развертывать проект.
Чтобы синхронизировать девелоперскую версию этих git на машине без интернета достаточно воспользоваться переносным носителем и парой скриптов, запускающих git fetch --all и последующей локальной пересборкой проекта.
Вы предлагаете, чтобы разработчик бегал с флешкой и обновлял каждое приложение на серверах компаний, которые находятся в разных уголках страны?