Обновление ПО Gitflic с 2.х.х до 3.х.х версии
Общие сведения
Начиная с версии 3.0.0 , у ПО GitFlic изменена схема работы с LFS и файлами релизов.
В связи с этим, необходимо будет использовать дополнительный инструмент cli.jar
для того что бы, старые данные хранящиеся на файловой системе в версиях 2.х.х, могли корректно взаимодействовать с новым механизмом работы. В случае если вы не используете cli.jar
перед обновлением, файлы релизов и LFS, могут некорректно отображаться в веб интерфейсе ПО GitFlic и работа с ними будет невозможна.
* Начиная с версии 3.0.0 вместе со сборкой поставляется cli.jar
и gitflic-cli.sh
для запуска.
* Приложению cli.jar необходим доступ к базам данных Postgresql и Redis с которыми работает ПО GitFlic.
* Приложению cli.jar необходим доступ к статическим файлам с которыми работает ПО GitFlic.
* Необходимо использовать скрипт gitflic-cli.sh
для запуска cli.jar
.
* Необходимо использовать файл application.properties
, который вы используете для запуска ПО GitFlic.
Случаи когда НЕОБХОДИМО запустить gitflic-cli.sh <путь до application.properties>
:
- Если вы переходите на версию 3.x.x. Например, вы работаете с версией 2.16.1 и у вас появилась необходимость обновить GitFlic до версии 3.0.0 (и выше)
Случаи когда запускать gitflic-cli.sh
НЕ НУЖНО:
- Вы впервые разворачиваете GitFlic версии 3.0.0+
- Вы ранее уже запускали gitflic-cli.sh
и успешно выполнили обновление, повторно запускать его не требуется.
Пошаговая инструкция по запуску:
1. Запускаем скрипт gitflic-cli.sh <путь до application.properties>
. Например, gitflic-cli.sh /user/admin/gitflic/default-config/application.properties
2. Дожидаемся запуска
```
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:>
```
3. Вводим команду 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 : Задача выполнена
```
4. Вводим команду fix lfs
,для исправления работы с файлами lfs, после чего в консоли будет следующий лог
Лог в начале:
```
2024-02-14 14:49:25.372 INFO 70237 --- [ main] com.gitflic.cli.service.LfsFixService : --- Подсчет количества проектов с LFS ---
2024-02-14 14:49:25.610 INFO 70237 --- [ main] com.gitflic.cli.service.LfsFixService : Всего проектов с LFS: 12
```
Лог после выполнения:
```
2024-02-14 14:49:25.624 INFO 70237 --- [ main] com.gitflic.cli.service.LfsFixService : Починено: 12/12 100,00% проектов с lfs
2024-02-14 14:49:25.625 INFO 70237 --- [ main] com.gitflic.cli.service.LfsFixService : Задача выполнена
```
5. После успешного выполнения можно выйти из приложения комбинацией клавиш ctrl+c
Обновление ПО Gitflic с 2.х.х до 3.х.х версии запущенного в докер контейнере
Пошаговая инструкция по запуску:
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
6. Выполните команду на вход в созданный контейнер
docker run -ti --env-file docker/ENV --network docker_git_net --entrypoint=bash docker-fixcli
7. После входа в контейнер, выполните команду на запуск приложения и дождитесь окончания загрузки приложения
./gitflic-cli.sh ./application.properties
8. Вводим команду 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 : Задача выполнена
```
9. Вводим команду fix lfs
,для исправления работы с файлами lfs, после чего в консоли будет следующий лог
Лог в начале:
```
2024-02-14 14:49:25.372 INFO 70237 --- [ main] com.gitflic.cli.service.LfsFixService : --- Подсчет количества проектов с LFS ---
2024-02-14 14:49:25.610 INFO 70237 --- [ main] com.gitflic.cli.service.LfsFixService : Всего проектов с LFS: 12
```
Лог после выполнения:
```
2024-02-14 14:49:25.624 INFO 70237 --- [ main] com.gitflic.cli.service.LfsFixService : Починено: 12/12 100,00% проектов с LFS
2024-02-14 14:49:25.625 INFO 70237 --- [ main] com.gitflic.cli.service.LfsFixService : Задача выполнена
```
10. Выполните обновление ПО GitFlic, согласно инструкции
После обновления успешного, созданные в п.5 и п.6 образы и контейнеры можно удалить.