TeamCity: восстановление сервера из резервной копиии с помощью утилиты maintainDB

Автор: | 03/12/2013

teamcity_logoПроизводим обычную установку до момента, когда появится предложение “Create Administrator Account“.

Сам процесс установки описан в статье TeamCity: установка на CentOS.

Находясь в директории, в которую был распакован архив (например – /home/setevoy/TeamCity/bin) останавливаем сервер:

$ ./runAll.sh stop

Останавливаем агент:

$ ./../buildAgent/bin/agent.sh stop

Копируем файл настроек подключения к базе данных (в примере используется HSQLDB) в отдельный каталог, например – в корень домашней директории:

$ cp ../../.BuildServer/config/database.hsqldb.properties.dist ../../

Удаляем все файлы из каталогов .BuildServer/config и .BuildServer/system:

$ rm -rf ../../.BuildServer/config/*
$ rm -rf ../../.BuildServer/system/*

Иначе – буду ошибки такого вида:

Cannot proceed with ‘restore’ command: The configuration directory (/home/setevoy/.BuildServer/config) is not empty.
Cannot proceed with ‘restore’ command: The configuration directory (/home/setevoy/.BuildServer/system) is not empty.

Запускаем файл maintainDB.sh с командой restore:

$ ./maintainDB.sh restore --all -T /home/setevoy/database.hsqldb.properties.dist -F /home/setevoy/TeamCity/TeamCity_20131130_152705.zip
../webapps/ROOT/WEB-INF/lib
Using logs directory /home/setevoy/TeamCity/bin/./../logs
TeamCity maintenance tool. Copyright 2013 JetBrains s.r.o. All Rights Reserved.

Command line arguments: restore --all -T /home/setevoy/database.hsqldb.properties.dist -F /home/setevoy/TeamCity/TeamCity_20131130_152705.zip
TeamCity Data Directory path is determined using the user home directory
Using TeamCity data directory: /home/setevoy/.BuildServer
Restoring from backup file: /home/setevoy/TeamCity/TeamCity_20131130_152705.zip
Backup created by TeamCity version:
Version: 8.0.3
Build number: 27540
Data format version: 628
Using explicitly specified target database settings: /home/setevoy/database.hsqldb.properties.dist
Using target database
...
index metric_id_pk
index value_type_key_index
index cleanup_history_pk
Importing Build Logs
Finishing
Restored 849 files.
Restoring finished successfully
Changing default database connection in TeamCity configuration:
Copying target database properties file
from:   /home/setevoy/database.hsqldb.properties.dist
to:     /home/setevoy/.BuildServer/config/database.properties
Done.

Ключи:

-T – указывается файл настроек подключения к базе данных (который мы предварительно скопировали);
-F – файл архива, из которого необходимо восстановить данные.

Больше информации о скрипте maintainDB.sh можно найти в статье TeamCity: резервное копирование сервера с помощью утилиты maintainDB.

Заходим на страницу TeamCity сервера и проверяем:

http://domain.com/overview.html

Готово.