Как создать приложение с нуля
Шаг 1. Настройте права в тенанте
Тенант — сущность, которая объединяет ресурсы разработки. Скорее всего он уже есть у вашей команды, и вам не нужно ничего создавать.
1. Найдите тенант
- Перейдите в Spirit.
- Нажмите Выбрать тенант или название тенанта в правом верхнем углу.
- Найдите тенант с помощью поиска.
2. Получите роли
Изучите список ролей и назначьте все необходимые роли на группу или пользователя
Роль — это набор прав, которые назначают пользователю. Подробности.
Если вы сами создали тенант, у вас роль Project Lead в нём.
Если не вы создали тенант и у вас нет ролей
Если её ещё не выдали:
- Нажмите Управление → Участники и роли в левом меню.
- Найдите участника с ролью Project Lead и попросите его выдать её вам.
Шаг 2. Настройте репозиторий
Создавайте, редактируйте и удаляйте репозитории только в интерфейсе Spirit.
Репозиторий — это проект на Gitlab, в котором хранится код проекта. Скорее всего у вашей команды уже есть репозитории, в которых вы будете работать.
1. Создайте репозиторий
Пример карточки репозитория в Spirit
По умолчанию все репозитории публичные. Код будет доступен всем пользователям платформы Spirit. Если вы не хотите публиковать код своего сервиса:
- переходите на Шаг 3. Регистрация сервиса в каталоге ПО и используйте деплой приложения из готового образа под платформу Linux
- или напишите в поддержку Spirit, чтобы сделать репозиторий приватным.
2. Настройте политики
Политики в Gitlab — это ограничения, которые помогают обезопасить ваш проект. Например, с помощью политики approvers вы можете выбирать, кто из пользователей может согласовать merge request.
Рекомендуем первым делом настроить:
Когда создаётся репозиторий, наши политики в Gitlab добавляют в него файлы:
.gitlab-ci.yml— настройка CI/CD в проекте. Подробности.
3. Настройте переменные CI/CD
О переменных, как и зачем их создавать
4. Настройте конвейер сборки CI/CD
Документация Gitlab про пайплайны
5. Настройте инфраструктуру сборки
Инфраструктура сборки в Gitlab
Шаг 3. Зарегистрируйте приложения в каталоге сервисов
Для этого создайте в репозитории файл с именем service.yaml и не забудьте указать
- env-переменные, если есть
- imageStream в формате
<docker-registry>/<tenant>/<repo> - порт для метрик (если порт для метрик и приложения совпадает, оставьте только метрики)
- пробы
Пример файла - service.yaml. Как заполнять
-
Чтобы в каталоге ПО появилась версия сервиса, тег должен быть создан на ветке
masterи соответствовать маскеrelease-*. -
docker-registry:
acr.polygon.t-technologies.ru- адрес для работы локально и из CI/CD, указывается вimageStreamвservice.yaml
Шаг 4. Настройте работу с артефактами
- Создайте сервис-аккаунт.
- Настройте локальное окружение Artifactory.
- Соберите Docker-образ сервиса средствами ci/cd или локально
- ❗ укажите релизный тег, который совпадает с тегом на ветке
master - ❗ при билде образа локально укажите платформу linux
--platform=linux/amd64
- ❗ укажите релизный тег, который совпадает с тегом на ветке
- Опубликуйте образ в Container Registry
acr.polygon.t-technologies.ru, выполнив push
Шаг 5. Создайте релизный тег
Создайте тег с именем release-* на ветке master. Тег должен совпадать с тегом docker-образа.
Шаг 6. Создайте базу данных, если она нужна вашему приложению
- Как создать инстанс БД
- Укажите БД в сетевых доступах при создании компонента приложения на Шаге 7