Ability to export and import projects is a quite popular request in our tracker. We worked hard to bring this feature in 9.0, and this EAP build is the first one where you can finally try this functionality.
The import is possible from "the Projects Import Projects" page in the Administration area. In order to
To start importing projects you need:
- create a usual backup file on a the source TeamCity server containing the projects to be imported (note that the versions of the source and target TeamCity servers where backup is created and where projects are have to be imported should be the same)
- put the backup file to into the
<TeamCity Data Directory>/importdirectory on the server where you want to import itstart importing projects on "Import Projects" target server
- follow the import steps on the Administration| Projects Import page.
Import The projects import feature is able allows you to select the import scope: you can import project settings, builds and changes history, and user accounts. Since the imported project can also use settings from parent projects, TeamCity will also import all the vcs roots, templates, meta-runners and other project related settings for parent projects. Existing If the same project already exists on the target server, the existing objects will not be overwritten though.
For now there are still some important limitations:
- the backup files do not contain artifacts, so artifacts are not imported automatically; the same applies to build logs, because since version 9.0 build logs are stored under build artifacts
- audit records are not imported
- personal changes patches corresponding to personal builds are not imported
- if imported users had roles which are not defined on the new server, these roles will not be imported
- backup files do not contain running builds and the build queue, as a result they are not imported as welleither
- projects import can take some time; for now it's its performance still requires some improvements
- there can be only one import process per server
Despite the fact that TeamCity can't import artifacts and logs right from the backup file, still there is still a way to copy/move them from old the source to new the target server. Each import process creates the
projectsImport-<date> directory under TeamCity logs and as a the final step of the import,
.sh scripts for copying artifacts will be generated and placed under this directory. These scripts accept old the source and new target data directory directories via the command line. The rest is done automatically. These scripts can be executed while the server is running.
- since projects import is a potentially dangerous operation, we added a separate permission for it available to system administrators by default.
- if users import is selected, and if users imported from the backup file had the system administrator role on the source server, they will be system administrators on new the target server as well; if an imported user belonged to some group and there is a group with the same ID on new serverthe target, the imported user will be associated with this group, thus potentially getting more permissions.
Starting from this EAP, to easily access builds you want to monitor, you can mark them as favorite. Any manually triggered build will be marked as favorite automatically. The marked builds will be listed on the "My Favorite Builds" page. In addition, notification rules can be configured for such builds.