Работа с Gitflic CLI


Общие сведения

Начиная с версии 3.0.0 , у ПО GitFlic изменена схема работы с lsf и файлами релизов.
Начиная с версии 3.3.0 , у ПО GitFlic изменена схема работы с реестром докер образов.

* Для работы cli.jar необходимо установить JavaVirtualMachine версии 11 или выше.
* Начиная с версии 3.0.0 вместе со сборкой поставляется cli.jar и gitflic-cli.sh для запуска.
* Приложению cli.jar необходим доступ к базам данных Postgresql и Redis/KeyDB с которыми работает ПО GitFlic.
* Приложению cli.jar необходим доступ к статическим файлам с которыми работает ПО GitFlic.
* Необходимо использовать скрипт gitflic-cli.sh для запуска cli.jar.
* Необходимо использовать файл application.properties, который вы используете для запуска ПО GitFlic.
* Необходимо использовать cli.jar, из комплекта поставки вашей версии ПО GitFlic.

Подробнее с процедурой перехода на версию 3.х.х , можно ознакомится на данной странице Возможные проблемы и способы их устранения

Доступные команды

* Без указания дополнительных аргументов, команды будут применены для всей инсталляции GitFlic.

Команда Аргументы Описание
fix lfs нет Починка файлов lfs
fix releases нет Починка файлов lfs
fix docker manifest --package-container-uuid <package_uuid> Починка файлов docker manifest. При указании аргумента –package-container-uuid uuid-пакета, будет выполнено исправление только конкретного пакета.

Способ применения

1. Распакуйте архив с ПО GitFlic в любую удобную директорию

unzip gitflic_3.0.0_free.zip

2. Перейдите в директорию cli внутри распакованного архива

cd /path/to/arhive/cli

3. Сделайте скрипт gitflic-cli.sh исполняемым

chmod +x ./gitflic-cli.sh

4. Запустите скрипт

./gitflic-cli.sh /path/to/gitflic/properties/application.properties
#Например, ./gitflic-cli.sh /user/admin/gitflic/default-config/application.properties

5. Дождитесь запуска скрипта

2024-02-22 14:36:32.630  INFO 7 --- [           main] o.s.i.channel.PublishSubscribeChannel    : Channel 'application.errorChannel' has 1 subscriber(s).
2024-02-22 14:36:32.631  INFO 7 --- [           main] o.s.i.endpoint.EventDrivenConsumer       : started bean '_org.springframework.integration.errorLogger'
shell:>

6. Введите необходимую команду , например fix releases и дождитесь выполнения. Пример вывода команды fix releases:

Лог в начале:

2024-02-14 14:37:50.291  INFO 70237 --- [           main] c.gitflic.cli.service.ReleaseFixService  : --- Подсчет количества релизов --- 
2024-02-14 14:37:50.457  INFO 70237 --- [           main] c.gitflic.cli.service.ReleaseFixService  : Всего релизов 24
2024-02-14 14:37:50.458  INFO 70237 --- [           main] c.gitflic.cli.service.ReleaseFixService  : ----------------------------------------- 

Лог после выполнения:

2024-02-14 14:37:51.004  INFO 70237 --- [           main] c.gitflic.cli.service.ReleaseFixService  : Мигрировано: 24/24 100,00% релизов
2024-02-14 14:37:51.004  INFO 70237 --- [           main] c.gitflic.cli.service.ReleaseFixService  : Задача выполнена

7. После успешного выполнения выйдите из приложения комбинацией клавиш ctrl+c

Способ применения для ПО Gitflic запущенного в докер контейнере

1. Остановите контейнер с ПО GitFlic.
2. Если базы данных были созданы в контейнерах, убедитесь что контейнеры с postgres и redis запущены и доступны.
3. Распакуйте архив с ПО GitFlic и перейдите в корень распакованной директории
4. Проверьте файл docker/ENV, на соответствие вашим настройкам приложения GitFlic. Или используйте файл ENV , используемый для запуска ПО GitFlic
5. Выполните команду на создание контейнера

docker compose --env-file docker/ENV --file cli/docker/docker-compose.yaml create

–env-file - Путь до файла с переменными окружения ПО GitFlic
–file - Путь до yaml файла с настройками cli для docker-compose

6. Выполните команду на вход в созданный контейнер

docker run -ti --env-file docker/ENV --network docker_git_net --entrypoint=bash docker-fixcli

–env-file - Путь до файла с переменными окружения ПО GitFlic, тот же что и в п.5
–network - Сеть docker в которой находятся контейнеры с postges и redis, если таковая использовалась
–entrypoint=bash - Точка входа в контейнер. Оставить без изменений
docker-fixcli - Имя контейнера, созданного в п.5

7. После входа в контейнер, выполните команду на запуск приложения и дождитесь окончания загрузки приложения

./gitflic-cli.sh ./application.properties

8. Дождитесь запуска скрипта

2024-02-22 14:36:32.630  INFO 7 --- [           main] o.s.i.channel.PublishSubscribeChannel    : Channel 'application.errorChannel' has 1 subscriber(s).
2024-02-22 14:36:32.631  INFO 7 --- [           main] o.s.i.endpoint.EventDrivenConsumer       : started bean '_org.springframework.integration.errorLogger'
shell:>

9. Введите необходимую команду , например fix releases и дождитесь выполнения. Пример вывода команды fix releases:

Лог в начале:

2024-02-14 14:37:50.291  INFO 70237 --- [           main] c.gitflic.cli.service.ReleaseFixService  : --- Подсчет количества релизов --- 
2024-02-14 14:37:50.457  INFO 70237 --- [           main] c.gitflic.cli.service.ReleaseFixService  : Всего релизов 24
2024-02-14 14:37:50.458  INFO 70237 --- [           main] c.gitflic.cli.service.ReleaseFixService  : ----------------------------------------- 

Лог после выполнения:

2024-02-14 14:37:51.004  INFO 70237 --- [           main] c.gitflic.cli.service.ReleaseFixService  : Мигрировано: 24/24 100,00% релизов
2024-02-14 14:37:51.004  INFO 70237 --- [           main] c.gitflic.cli.service.ReleaseFixService  : Задача выполнена

10. После успешного выполнения выйдите из приложения комбинацией клавиш ctrl+c и удалите контейнеры и образы созданные в п.5 и п.6 данной инструкции