TeamCity Data Backup
TeamCity provides several ways to back up its data:
Backup from the Web UI: an action in the web UI (can also be triggered via REST API) to create a backup while the server is running. It is recommended for regular maintenance backups. Some limitations on the backed up data apply (see the related section below). This option is also available on upgrade in the maintenance screen - on the first start of a newer version of the TeamCity server.
Creating Backup via maintainDB command-line tool: Same as via the UI. To include all data, use the tool when the server is stopped.
Manual backup: is suitable if you want to manage the backup procedure manually.
You may need to back up the build agent's data only.
Restoring data from backup is performed using the maintainDB
tool.
Backing up Data
TeamCity allows backing up the following data:
Server settings,settings of projects and builds configurations (everything stored in )
Custom plugins (installed under < TeamCity Data Directory>\plugins) and and database drivers (from
< >/lib
directory)Supplementary data: settings history, triggers states, plugins data, etc. (everything under directory)
Build logs
Personal changes
The data to be backed up can be configured using the backup scope options when using the TeamCity Web UI or via additional parameters for the maintainDB command-line tool.
The following data is not included into backup:
build artifacts (because of their size). These include explicit build artifacts and internal artifacts storing coverage report, finish build parameters, settings digest, etc. If you need the build artifacts, please also backup content of artifacts directories manually.
for backup taken from UI: running builds and build queue state. If you want to backup these, use the command line maintainDB tool while the TeamCity server is not running.
TeamCity application manual customizations under
< TeamCity Home >
, including used server port number which are stored in< TeamCity Home >/conf/server.xml
file.TeamCity application logs (they also reside under
< TeamCity Home >/logs)
Any manually created files under
< >
that do not fall into previously mentioned items.
The recommended approach is either to perform the backup process described under Manual Backup and Restore or run a backup from the web UI regularly (e.g. automated via REST API) with the "Basic" level - this will ensure backing up all important data except build artifacts and build logs.
Build artifacts and logs (if necessary) can be backed up manually by copying files under .BuildServer/system/artifacts
and, prior to TeamCity 9.0, .BuildServer/system/messages
. See TeamCity Data Directory for details. If logs are selected for backup, TeamCity will search for them in all artifact directories currently specified on the server.
Note that for large production TeamCity installations, exporting and importing of data from/to the database may not be an optimal solution and maintaining database backup via replication might be a better option; e.g. see the corresponding documentation for MySQL database.