Cleanup-процес видалення регламенту
| 🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію. |
1. Загальний опис
Cleanup-процес (cleanup-job) у Jenkins — це автоматизований процес, розроблений для підтримки оптимального стану регламенту реєстру шляхом видалення застарілих або непотрібних даних, ресурсів та компонентів. Процес включає очищення тимчасових реплік БД, які розгортаються для версій-кандидатів, видалення ресурсів та сервісів, очищення репозиторію Nexus, а також можливість вибору додаткових опцій відповідно до потреб адміністратора.
| Не рекомендуємо запускати Cleanup-процес на виробничих середовищах, оскільки це може призвести до втрати важливих даних. |
2. Етапи та кроки Cleanup-процесу
Процес включає наступні етапи:
- cleanup-of-version-candidate-dbs
-
Цей етап забезпечує ефективне очищення тимчасових БД для версій-кандидатів, допомагаючи звільнити місце і підтримувати систематичний порядок.
Детальніше про особливості розгортання БД для версій-кандидатів див. на сторінці Особливості роботи з таблицями в рамках версій-кандидатів. - delete-data-services
-
На цьому етапі відбувається видалення ресурсів
buildConfigта Helm-чартів для сервісів даних:registry-kafka-api,registry-soap-api,registry-rest-apiтаregistry-model, а також видалення Kafka topics для API реєстру — сервісуregistry-rest-api.Сервіси даних (data services) — це набір служб та інструментів, які забезпечують збір, обробку, зберігання та надання даних для різних застосунків, користувачів та систем.
- cleanup-trigger
-
Цей етап містить декілька кроків:
-
Видалення сервісів даних:
registry-kafka-api,registry-soap-api,registry-rest-apiтаregistry-model. -
Видалення
history-excerptor.History excerptor— це інструмент, який генерує зрозумілий витяг змін з історичної таблиці, що містить дані про зміни в усіх інших таблицях бази даних реєстру, і дозволяє завантажити цей витяг у форматі PDF прямо з консолі Jenkins. -
Очищення Nexus — репозиторію для зберігання артефактів.
-
Вибір між двома опціями:
-
Видалення регламенту реєстру —
registry-regulations, очищення бази даних та ресурсів Redash (за умови, що чекбоксDELETE_REGISTRY_REGULATIONS_GERRIT_REPOSITORYактивовано). -
Залишення
registry-regulationsбез змін, але з очищенням бази даних та ресурсів Redash (за умови, що чекбоксDELETE_REGISTRY_REGULATIONS_GERRIT_REPOSITORYдеактивовано).
-
-
Створення нових порожніх репозиторіїв для
history-excerptorтаregistry-regulations.Створення registry-regulationsпропускається, якщо cleanup-процес не видаляв цей компонент. -
Запуск пайплайну публікації регламенту —
MASTER-Build-registry-regulations— з активованою опцієюFULL_DEPLOY(за умови, якщо cleanup-процес не видаляв компонентregistry-regulations), що дозволяє правильно розгорнути регламент після процесу очищення.
-
3. Конфігурація та запуск cleanup-процесу
Ви можете налаштувати та запустити процес очищення регламенту у сервісі Jenkins реєстру за посиланням: https://admin-tools-<назва-реєстру>.apps.<назва-кластера>.dev.registry.eua.gov.ua/cicd.
-
Увійдіть до адміністративної панелі Control Plane.
-
Відкрийте розділ Реєстри > Швидкі посилання та перейдіть за посиланням до сервісу Jenkins.

Детальніше див. на сторінці Швидкі посилання до сервісів реєстру. -
Відкрийте процес cleanup-job та перейдіть до меню Build with Parameters (запуск процесу з певними параметрами конфігурації).

Для налаштування та запуску cleanup-job, необхідно вказати параметри, що забезпечують правильну роботу процесу.
Усі параметри завжди налаштовуються автоматично, тому зміна їх конфігурації не рекомендується. Єдиний параметр, який потрібно встановити вручну — це чекбокс DELETE_REGISTRY_REGULATIONS_GERRIT_REPOSITORY, який визначає логіку роботи пайплайну.- Ось перелік параметрів та їх опис:
-
-
DELETE_REGISTRY_REGULATIONS_GERRIT_REPOSITORY— параметр визначає, чи потрібно видаляти та створювати заново репозиторій registry-regulations із порожнього шаблону.Якщо опція встановлена ( true), репозиторій буде видалено та створено заново. За замовчуванням опціяDELETE_REGISTRY_REGULATIONS_GERRIT_REPOSITORYзавжди у значенніfalse, тобто неактивна. -
STAGES— розділ, що містить параметри для налаштування різних етапів процесу (див.детальніше розділ Етапи та кроки Cleanup-процесу). -
CODEBASE_NAME— назва для CodeBase, з якою працюєте. У цьому випадку —registry-regulations. -
CODEBASE_HISTORY_NAME— назва історії CodeBase, яка відображає версію та стан коду на певний момент часу. У цьому випадку вкажітьhistory-excerptor. -
REPOSITORY_PATH— шлях до репозиторію, з яким ви працюєте. Це допоможе системі знайти та виконати операції з відповідним репозиторієм. -
LOG_LEVEL— рівень журналювання для процесу. Доступні варіанти:ERROR,WARN,INFOабоDEBUG. Цей параметр допомагає контролювати рівень деталізації інформації, яка буде зберігатися в логах під час виконання процесу.Щоб переглянути лог виконання процесу, перейдіть усередину необхідного пайплайну та оберіть меню Console Output (вивід консолі).

-
DEPLOYMENT_MODE— вкажіть режим розгортання для системи. Доступні опції:development(розробка) таproduction(промислове середовище).
-
-
Після встановлення всіх параметрів, запустіть cleanup-процес, натиснувши кнопку Build. Система виконає вказані операції відповідно до налаштувань та забезпечить відповідний стан кодової бази та репозиторіїв.
-
В результаті розпочнеться процес видалення регламенту, який або видалить регламент
registry-regulations, або ні, залежно від активації або деактивації чекбоксуDELETE_REGISTRY_REGULATIONS_GERRIT_REPOSITORYна етапі cleanup-trigger. -
Після завершення cleanup-процесу, автоматично запуститься пайплайн публікації регламенту —
MASTER-Build-registry-regulations— з активованою опцієюFULL_DEPLOY(за умови, якщо cleanup-процес не видаляв компонентregistry-regulations), що дозволяє правильно розгорнути регламент після процесу очищення.