Обновление Gitea на CentOS 7
Обвновление gitea
Для начала обновим пакет:
yum update -y
Остановим сервис gitea:
sudo systemctl stop gitea
Загрузим новую версию бинарного файла gitea:
wget -O /tmp/gitea https://dl.gitea.io/gitea/1.20.4/gitea-1.20.4-linux-amd64
Где «1.20.4» это версия.
Переместим в каталог /usr/local/bin
sudo mv /tmp/gitea /usr/local/bin
Сооздадим двоичный исполняемый файл:
sudo chmod +x /usr/local/bin/gitea
Перезапустить сервис gitea:
sudo systemctl restart gitea
Проверим статус сервиса gitea:
sudo systemctl status gitea
Если что-то пошло не так
Проверка версии gitea:
gitea --version
Для конвертации базы данных под новую версию:
gitea convert
Для просмотра текущих рабочих каталогов:
gitea help
Назначение рабочего каталога gitea:
export GITEA_WORK_DIR=/var/lib/gitea/
Установка конфигурационного файла app.ini:
gitea --config /etc/gitea/app.ini
Ручной запуск сервиса gitea:
GITEA_WORK_DIR=/var/lib/gitea/ /usr/local/bin/gitea web -c /etc/gitea/app.ini
Настройки базы данных MariaDB MySQL
При возникновении слудующих ошибок базы данных:
Error 1071 (42000): Specified key was too long; max key length is 767 bytes
Error 1709 (HY000): Index column size too large. The maximum column size is 767 bytes.
Вход mysql:
mysql -u root -p
Просмотр баз даных:
SHOW DATABASES;
Выбор базы данных:
use gitea;
Просмотр таблиц в базе данных:
show table status;
Комманды mysql при вышеописанных ошибках:
SET GLOBAL innodb_file_format=Barracuda;
SET GLOBAL innodb_file_per_table=1;
SET GLOBAL innodb_large_prefix=1;
Для каждой таблицы:
ALTER TABLE table_name ROW_FORMAT=dynamic;
Альтернативный метот через конфигурационный файл mysql my.cnf
Открытие файла my.cnf на редактирование:
nano /etc/my.cnf
Добавить следующие строки:
innodb_file_format = barracuda
innodb_file_per_table = 1
innodb_large_prefix = 1
Полезные ссылки по теме:
https://devops.org.ru/gitea-update
https://docs.gitea.com/help/faq#upgrade-errors-with-mysql
https://wiki.archlinux.org/title/Talk:Gitea
https://github.com/go-gitea/gitea/issues/4663