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.
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:
- Data stored in the database
Server settings, settings of projects and builds configurations (everything stored in
< TeamCity Data Directory >/config
)Custom plugins (installed under
< TeamCity Data Directory >\plugins
) and and database drivers (from< TeamCity Data Directory >/lib
directory)Supplementary data: settings history, triggers states, plugins data, and so on (everything under the
< TeamCity Data Directory >/system/pluginData
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, and so on. If you need the build artifacts, please also back up the contents of artifacts directories manually.
For backup taken from UI: running builds and build queue state. If you want to back up 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
< TeamCity Data Directory >
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 (for example, 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
(prior to TeamCity 9.0 in .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; for example, see the corresponding documentation for MySQL database.