- 21, Oct 2024
- #1
Я начал проект с небольшой командой (3 человека), и нам пришлось многое взломать, и мы создали большое приложение без модульных тестов, полагаясь только на руководство. Сейчас у нас огромный технический долг и мы начали внедрять CI/CD. Наша цель — начать повсеместно проводить кипарисовые тесты, затем несколько модульных тестов и рефакторинг кода, а также реализовать инструменты статического анализа в конвейере Ci/CD:
Наша идея состоит в том, что у нас не будет локальной среды, а будет только серверная среда. Таким образом, разработчик отправляет код в Gitlab, исполнитель Gitlab в Digital Ocean отправляет репозиторий на промежуточный сервер, разработчик выполняет отладку в Digital Ocean с помощью Local Cypress Runner и своих собственных модификаций, если он что-то сломает или забудет выполнить полный регрессионный тест или тест командной строки. исполнитель регрессии запускается ДО второго развертывания, поэтому он не позволяет коду передаваться на сервер развертывания/производства.
Вопросы
1: нужно ли нам отделять среду развертывания от промежуточной установки в двух каплях? можем ли мы достичь этой конфигурации без серьезных проблем в одной и той же капле?
2: нужно ли нам использовать докер? если нет, то как это следует сделать
3: какую настройку мы можем сделать, чтобы сократить ручную работу? наша проблема не в одобрении, а в максимальной автоматизации, поскольку у нас нет специалиста по ИТ/DevOps и нет контроля качества.
Примечание: первый этап — реализация полной регрессии, второй этап — реализация инструментов качества кода (статических анализаторов), таких как sonarqube, phpStan и т. д.
Стек: стек LAMP с PHP Codeigniter и vanilla JS.