Скрипт запускается с агрументами командной строки, например: ''' script.py ./test.yaml -wd ./test_rep -f 1 '''
Обязательным аргументом является путь до yaml файла Далее можно использовать ключи
- -wd - work directory - папка, в которой лежат версии проекта
- -f - ключ запроса подтверждения удаления
- --help
Структур состоит из правил. Каждое правио выполняется с каждым проектом
role - отдельные павила выполняющиеся последовательно if - блок условий, котороый относится к определенной версии проекта, но не затрагивает файлы внутри
- age - минимальный возраст проекта, если проекту меньше, то к нему не применятся действия
- maj - версия проекта release или test
do - блок действий, которые выполнятся, если ВСЕ условия из блока if будут выполнены
- delrep: 1 - удалить данную версию проекта
- delmask: mask удалить все файлы и папки, которые попадают под маску
- delage - удаляет все файлы и папки, которые старше определенного возраста в заданной папке
возраст указывается в формате 5d - означает 5 дней программу можно легко расширить до дней, месятцев, лет и т.д Пример: '''
-
rule: if: age: 5d maj: test do: delrep: 1
-
rule: if: age: 3d maj: test do: delmask: "tests/*.tar.gz"
-
rule: if: age: 5d maj: release do: delage: age: 70d path: debug '''
Использовалась база данный MySQL Пример базы данный прикреплен в качестве примера к проекту Подключение осуществляется с помощью библиотеки python pymysql Если она у вас не установлена, требуется установить
База данных была развернута в докере с пробросо на локальном хосте
Grafana-у я экспортировал в json файл. Для гарантии прикрепил скриншоты