Процесс обновления GitFlic


Скачайте последнюю версию GitFlic self-hosted.

Ниже описано, какие дополнительные настройки на сервере надо произвести при переходе на новую версию. Все настройки расписаны под версией продукта. Если для новой версии gitflic нет дополнительной информации, то для обновления достаточно заменить старый gitflic.jar на новый.

Обновление сервиса настроенного через systemctl

Пример обновления, если запуск приложения настроен через systemctl:

sudo systemctl stop gitflic
# Меняем старый jar файл на новый.
cp gitflic.jar /opt/gitflic/
sudo systemctl restart gitflic
# Следим за логом запуска.
tail -f /opt/gitflic/logs/server.log

Обновление сервиса запущенного через docker compose

Вам необходимо собрать новый docker-gitflic image. Для этого разместите файл gitflic.jar рядом с папкой docker в которой размещён docker-compose.yml

├── docker
│   ├── default-config
│   ├── docker-compose.yml
│   ├── gitflic
│   ├── postgres
│   └── redis
│
│# Файл gitflic.jar с новой версией gitflic
│
├── gitflic.jar

Остановите запущенный docker compose. Для этого в папке с файлом docker-compose.yml выполните команду:

# В windows и macOS не нужно использовать sudo
sudo docker compose down

В паке с файлом docker-compose.yml запустите docker compose с ключом --build для обновления сборки:

# В windows и macOS не нужно использовать sudo
sudo docker compose up --build

v 2.14.0

Общее обновление для всех версий

Добавился новый функционал “Реестр пакетов”. Для его работы необходимо добавить новый параметр в application.properties и создать папку для хранения пакетов.

mkdir -p /opt/gitflic/var/registry
echo "#Параметр gitflic.registry.package.dir отвечает за путь для файлов реестра пакетов" >> /opt/gitflic/default-config/application.properties
echo "gitflic.registry.package.dir=/opt/gitflic/var/registry/" >> /opt/gitflic/default-config/application.properties

Дополнительное обновление для платной версии self-hosted enterprise

Для платной версии так же необходимо установить сервис RabbitMQ. Инструкцию по установке можно посмотреть здесь. Для дополнительных настроек RabbitMQ необходимо добавить дополнительные параметры в application.properties

# ======= Конфигурация RabbitMQ =======

#spring.rabbitmq.host=localhost
#spring.rabbitmq.port=5672
#spring.rabbitmq.username=
#spring.rabbitmq.password=

#Дополнительные настройки для соединения с RabbitMq можно посмотреть по ссылке
# https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#application-properties.integration.spring.rabbitmq.addresses

Перенос данных GitFlic на другой сервер.

Общая информация

После настройки GitFlic на новом месте вам необходимо перенести следующие данные:

  • База данных из postgresql
  • Все папки со статичными файлами. Со списком папок можно ознакомиться здесь. Обратите внимание на то, что у вас на сервере могут быть другие пути, актуальные пути можно посмотреть в application.properties.
  • База данных из Redis. У нас происходит сохранение следующих данных на диск: вебхуки, токены, адреса email для оповещений, данные для оповещению в telegram.

Данные Docker compose

Если вы запустили приложение в docker compose по данной инструкции. То для переноса данных на новое место вам необходимо скопировать следующие файлы.

│
│# Если вы производили дополнительные настройки в файле default-config, то при переезде рекомендую заполнить данный файл заново, так как в новой версии могли появиться новые поля.
│Обратите внимание, что application.properties копируется в image и для его изменения нужно при запуске добавить параметр --build.
│
├── default-config
│   └── application.properties
├── docker-compose.yml
│
│# Если вы производили дополнительные настройки в файле ENV, то при переезде рекомендую заполнить данный файл заново, так как в новой версии могли появиться новые поля.
│
├── ENV
├── gitflic
│   │
│   │ # Перенесите папку data
│   │
│   ├── data
│   │   ├── cert
│   │   │   └── key.pem
│   │   ├── cicd
│   │   ├── img
│   │   ├── log
│   │   ├── registry
│   │   ├── releases
│   │   └── repo
│   └──  Dockerfile
├── postgres
│   │
│   │# Перенесите папку data
│   │
│   ├── data 
│   ├── Dockerfile
│   └── pgcrypto.sh
│
│# Перенесите папку redis
│
└── redis
    └── data