Шаблон backend-проекта на Java и/или Kotlin.
-
Создаем проект на основе шаблона
-
Адаптируем имена (find & replace)
-
Имя проекта (в шаблоне bezmen)
-
Имя приложения (в шаблоне sepuling)
-
Имя базы данных (в шаблоне enteropia)
-
Имя схемы данных (в шаблоне sepulkarium)
-
-
Настраиваем синхронизацию
-
Создаем Github App на уровне репозитория или организации
-
Устанавливаем Github App для нового проекта
-
Создаем переменную с идентификатором Github App
-
Создаем секрет с приватным ключом Github App
-
Указываем их в workflow синхронизации
-
-
Заводим тикет и описываем идею доработки (можно воспользоваться готовыми из списка).
-
Настраиваем одну из поддерживаемых сред разработки и фиксируем её в
orchestrator/ansible/group_vars/all.yaml
.# for example devenv: turing
-
Выполняем доработку на отдельной ветке.
-
Добиваемся успешного прохождения проверок на локальной машине.
cd orchestrator/ansible ansible-playbook stacks.yaml
-
Создаем пул-реквест.
-
Добиваемся успешного прохождения проверок в рамках CI.
-
Рефакторинг, снижающий сложность и/или повышающий идиоматичность.
-
Добавление теста, увеличивающего покрытие.
-
Правка предупреждения (warning) на любом из этапов сборки.
-
Дополнение или правка документации.
-
Правка ошибки и/или уязвимости.
-
Новая метрика качества кодовой базы (в т.ч. архитектурные тесты).
-
Новый уровень качества по одной из существующих метрик.
-
Заморозка версии инструмента в dev или ops окружении.
-
Новое dev или ops окружение.
-
Новый инструмент сборки бинарников. Сейчас только Apache Maven.
-
Новый инструмент контейнеризации. Сейчас только Docker Engine.
-
Новый инструмент наката стеков. Сейчас только Docker Compose.
-
Новая реляционная база данных. Сейчас только PostgreSQL.
-
Новая ость (ility) продукта (product) и/или снаряжения (gear).
-
Новая обвязка построения дерева хешей. Сейчас связка Git и Ansible.
-
Новый инструмент оркестрации (orchestrator). Сейчас только Ansible.
-
Новый язык программирования. Сейчас только Java и Kotlin.
-
Новая операционная система в dev или ops окружении. Сейчас только Ubuntu и Alpine соответственно.
-
Новый этап конвейера (pipeline). Сейчас только непрерывная интеграция (CI).