Обновление шаблонов для поддержки версионирования
Для работы новой версии EDP необходимо обновить шаблоны и ранее созданные сервисы, для поддержки возможности версионирования. Если обновление не произвести, то сервисы продолжат свою работу, но обновления получать не будут.
Обновление шаблонов
После обновления, шаблоны, которые были созданы ранее, будут иметь проблемы с конфигурацией. Пример показан ниже.
Для продолжения работы необходимо произвести их обновление.
1. В корне репозитория в файле variables.yaml
в секцию repository
добавьте ряд служебных переменных:
repository:
- key: EDP_SERVICE_UUID
value: example
description: "Служебная переменная"
- key: EDP_TEAM_SLUG
value: example
description: "Служебная переменная"
- key: EDP_TEMPLATE_HASH
value: example
description: "Служебная переменная"
- key: EDP_TEMPLATE_VERSION
value: example
description: "Служебная переменная"
- key: EDP_UPDATES_BRANCH
value: example
description: "Служебная переменная"
Пример:
2. В шаблоне переименуйте файл .edp.yaml
в .edp.yaml.njk
и добавьте секцию spec
со следующим содержимым:
spec:
template:
version: {{ EDP_TEMPLATE_VERSION }}
hash: {{ EDP_TEMPLATE_HASH }}
updates:
branch: {{ EDP_UPDATES_BRANCH }}
В случае отсутствия файла .edp.yaml
создайте файл .edp.yaml.njk
.
Пример файла:
Если все сделано верно, то конфигурация будет показана как валидная (необходимо обновить страницу):
3. Создайте тег в шаблонном репозитории
4. Нажмите Обновить текущую версию
При успешно обновлении версии, на карточке появится текущая версия шаблона:
На этом обновление шаблона завершено.
Обновление сервисов
Аналогично шаблонам, после обновления, сервисы, которые были созданы ранее, будут иметь проблемы с конфигурацией. Пример показан ниже.
Для продолжения работы необходимо произвести актуализацию конфигурации.
1. В сервисе в файле .edp.yaml
добавьте секцию spec
по примеру ниже. Все параметры, кроме опциональных, должны быть заполнены. Пример:
spec:
template:
version: v0.0.0
hash: 43d8833613fdf0b6625d3f82d6870cd35ed600a7
variables:
EXAMPLE_1: 'example-1'
EXAMPLE_2: 'example-2'
EXAMPLE_3: 'example-3'
updates:
branch: updates
Пояснение:
- version - может быть любым значением
- hash - хэш коммита версии шаблона, из которой был создан данный сервис. Можно сравнить время создания первого коммита сервиса и какой коммит был в то время у шаблона сервиса. Подробнее о получение хэша
- variables (при наличии) - переменные шаблона, которые использовались для создания данного сервиса. Необходимо внести вручную списком, как показано на примере. Обязательно к заполнению, при наличие переменных в шаблоне. Если переменные отсутствуют, то можно поле можно убрать.
- branch - название ветки, в которую будут присылаться МР с обновлением шаблона. Ветка должна существовать в репозитории, в ином случае изменения присылаться не будут.
EDP проверяет наличие всех требуемых шаблоном переменных. При отсутствии каких либо из них, обновление происходить не будет. Пример показан ниже:
2. Запустите обновление сервиса
При успешном формировании обновления в интерфейсе появится кнопка, при нажатии на которую можно перейти на ветку, в которой сформировано обновление.
Так же будет сформирован МР, который отправляет изменения из сформированной ветки в ветку, которая была ранее указана в переменной branch
в файле .edp.yaml
. Этот МР необходимо принять. На этом обновление сервиса завершено.
Получение hash коммита
1. Перейдите в репозиторий с шаблоном и откройте список коммитов.
2. Скопируйте нужный хэш коммита