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), що дозволяє правильно розгорнути регламент після процесу очищення.