Назад | Перейти на главную страницу

Github CI / CD / переход на внешний сервер?

У нас есть репо в строгой среде разработки и частный веб-сервер, расположенный в / var / www / dev / репо. Мы хотим, чтобы все созданные ветки автоматически создавались и добавлялись в / var / www / branch / feature-coolfeature и автоматически на основе основной ветки (или «базы на ветке»). Таким образом, мы можем очень легко загрузить новую ветвь в нашу / var / www / dev / репо и продемонстрируйте наши новые возможности ветки для клиентов и владельцев продуктов.

Представьте себе «переключатель ветвей» на нашей платформе, который будет переключаться между ветвями разработки. Кроме того, мы хотим иметь возможность делать коммиты / вар / www / ветки / особенность-coolfeature, как непосредственно на сервере в данной папке, так и, например, через Github Desktop.

Мы понимаем, что можем быть очень далеки от этого, и ценим любые указания о том, куда мы можем пойти с этим потоком, или даже попробовать совершенно другой. Пока нам удалось с помощью веб-перехватчиков Github создать структуру папок и скопировать все из исходного репозитория, за исключением того, что он не понимает, что это на самом деле ветка (думает, что это основная ветка), и мы просто видим несколько признаков того, что мы мы подходим к этой проблеме с очень и очень плохой точки зрения. Как связанные с github, так и разрешения. Мы, разработчики, пытаемся изучить DevOps.

Был бы признателен за любой совет.

Ну, третье желание - это просто кусок дерьма - вы должны переосмыслить его, свой текущий и будущий рабочий процесс, чтобы не плакать в ближайшее время (я могу понять предысторию ваших потребностей, но вы должен помнить: "В каждой проблеме есть хотя бы один очевидный, просто и НЕПРАВИЛЬНО решение")

  1. любой чистый разработчик не может быть (и никогда не будет) правильный DevOp. Просто потому, что DevOp'ing требует другого, более широкого мышления, не ограничиваясь «я могу кодировать кодировать это» ... у вас есть вышел на грабли и весело собираюсь запускать на их
  2. Сегодня в команде должно быть минимум (кроме разработчиков):
    • хорошо админ используемого WWW-сервера (хорошо потому что он должен знать это под хорошим и используемый потому что разные серверы ... ну ... разные: для меня не проблема создать динамические хосты в Apache, но я не смогу без предварительного RTFM в Boa, Tomcat, IIS, lighttpd, Nginx ...)
    • продвинутый Git-user (git-hooks не так очевидны в состоянии 'ready to Prod', обычные git-boys не очень хороши в технических деталях, в отличие от фанатичных проповедей)
    • хорошо NetworkAdmin (если вы решите иметь и использовать два удаленные системы - ваш хост и GitHub, единая точка - это просто более простой и прозрачный способ - см. ниже)

GitHub, как 1) удаленная система 2) которой вы не владеете и которой не можете управлять на 100%, не является разумным разумным выбором: у вас всегда будут ограничения удаленного размещенного решения и дополнительный уровень сложности (удаленная связь GitHub - Среда разработки) и дополнительная точка отказа. Сейчас есть много полезных Git-ориентированных решений (от простого обслуживания репозиториев до полного цикла ALM), которые можно развернуть на локальные системы

PS: Хорошо, вы исчерпали лимит моей бесплатной консультации, но можете нанять меня за плату (любого размера в любое время)