Версионирование и конфигурирование образа
Общая информация по выпуску и версионированию образа
В базовом образе UI микросервисаregistry-new.diasoft.ru/dvt/release/qpalette:23021301
и в последующих выпусках будет упаковано рутовое приложение. Соответственно сборка рутового в пайплайне не потребуется, в данном случае версия базового образа = версии рутового. Таким образом, чтобы поменять версию рутового приложения, достаточно будет установить в докерфайле нужную версию образа.
Конфигурирование образа
Для конфигурирования образа c рутовым приложением достаточно будет задать следующие переменные:QPALETTE_ENV
- окружение для файла конфигурации:prod/local/base
. По умолчанию для переменной задано значениеprod
.QPALETTE_CONFIG
- содержимое файла конфига в формате json.Данные переменные необходимо прописать в devops_config вашего UI микросервиса, либо через инсталлятор.К примеру, чтобы подложить файл конфигурации в свойconfig.base.json
, предварительно укажите значениеbase
для переменнойQPALETTE_ENV
и запишите свой обновленный конфиг в переменнуюQPALETTE_CONFIG
.ЕслиQPALETTE_CONFIG
не задан, то по умолчанию образ соберётся со стандартным конфигом, по умолчанию он такой:
Пример конфига по умолчанию
{
"scripts": [
],
"plugins": [],
"theme": {
"themes": [
{
"name": "Стандарт",
"id": "standard"
},
{
"name": "Минимализм",
"id": "minimalism"
},
{
"name": "Тинь-Тинь",
"id": "tin-tin"
},
{
"name": "Зебра",
"id": "zebra"
}
]
},
"tabs": {
"visible": true,
"appName": "Digital Q"
},
"sidebar": {
"visible": true,
"dynamicMenu": true,
"logo": "",
"logoSmall": ""
},
"loginForm": {
"visible": true,
"background": "var(--q-primary-900, #061725) center/cover url(assets/images/auth_bg.svg)",
"logo": "assets/images/digitalq_logo.svg"
},
"bundleLoader": {
"bundleUrl": "/api/$service/$component/main.js"
},
"widgetLoader": {
"bundleUrl": "/api/$service/widgets/$component/main.js"
},
"widgets": {
"bundleUrl": "/api/$service/$component/widgets/$widget/main.js"
},
"auth": {
"service": "default",
"options": {
"redirectOnLogoutUrl": null,
"excludeUrlsFromAuthorization": [
"assets/*",
"suggestions.dadata.ru/*"
],
"authDataServiceConfig": {
"urls": {
"base": "/api"
}
}
}
},
"apiBaseUrl": "/api/$service",
"pbcList": []
}
Пример заполненного QPALETTE_CONFIG для авторизации через keycloak
{
"QPALETTE_CONFIG": "{ \"scripts\": [ ], \"plugins\": [], \"theme\": { \"themes\": [ { \"name\": \"standard\", \"id\": \"standard\" }, { \"name\": \"minimalism\", \"id\": \"minimalism\" }, { \"name\": \"tin-tin\", \"id\": \"tin-tin\" }, { \"name\": \"zebra\", \"id\": \"zebra\" } ] }, \"tabs\": { \"visible\": true, \"appName\": \"Digital Q\" }, \"sidebar\": { \"visible\": true, \"dynamicMenu\": true, \"logo\": \"\", \"logoSmall\": \"\" }, \"loginForm\": { \"visible\": true, \"background\": \"var(--q-primary-900, #061725) center / cover url(assets/images/auth_bg.svg)\", \"logo\": \"assets/images/digitalq_logo.svg\" }, \"bundleLoader\": { \"bundleUrl\": \"/api/$service/$component/main.js\" }, \"widgetLoader\": { \"bundleUrl\": \"/api/$service/widgets/$component/main.js\" }, \"widgets\": { \"bundleUrl\": \"/api/$service/$component/widgets/$widget/main.js\" }, \"auth\": { \"service\": \"KeyCloak\", \"options\": { \"excludeUrlsFromAuthorization\": [ \"assets/*\", \"suggestions.dadata.ru/*\" ], \"refreshTokenPeriodically\": true, \"authDataServiceConfig\": { \"urls\": { \"base\": \"/api\" } }, \"keycloak\": { \"config\": { \"url\": \"https://keycloak.keycloak.qrunsys.diasoft.ru/auth\", \"realm\": \"diasoft\", \"clientId\": \"qisimagestorage\" } } } }, \"apiBaseUrl\": \"/api/$service\" }"
}
Пример заполненного QPALETTE_CONFIG для авторизации default
{
"QPALETTE_CONFIG": "{ \"scripts\": [ ], \"plugins\": [], \"theme\": { \"themes\": [ { \"name\": \"standard\", \"id\": \"standard\" }, { \"name\": \"minimalism\", \"id\": \"minimalism\" }, { \"name\": \"tin-tin\", \"id\": \"tin-tin\" }, { \"name\": \"zebra\", \"id\": \"zebra\" } ] }, \"tabs\": { \"visible\": true, \"appName\": \"Digital Q\" }, \"sidebar\": { \"visible\": true, \"dynamicMenu\": true, \"logo\": \"\", \"logoSmall\": \"\" }, \"loginForm\": { \"visible\": true, \"background\": \"var(--q-primary-900, #061725) center / cover url(assets/images/auth_bg.svg)\", \"logo\": \"assets/images/digitalq_logo.svg\" }, \"bundleLoader\": { \"bundleUrl\": \"/api/$service/$component/main.js\" }, \"widgetLoader\": { \"bundleUrl\": \"/api/$service/widgets/$component/main.js\" }, \"widgets\": { \"bundleUrl\": \"/api/$service/$component/widgets/$widget/main.js\" }, \"auth\": { \"service\": \"default\", \"options\": { \"excludeUrlsFromAuthorization\": [ \"assets/*\", \"suggestions.dadata.ru/*\" ], \"refreshTokenPeriodically\": true, \"authDataServiceConfig\": { \"urls\": { \"base\": \"/api\" } } } }, \"apiBaseUrl\": \"/api/$service\" }"
}