Migrate BuildMaster to a New Server

KB#1768: Last Updated September 24, 2020

It may be necessary to move an existing BuildMaster install to a new server. It is recommended to move servers using the same installed version on both servers. Although you can upgrade at the same time, it can make the move process much more complicated.

This guide will only show how to move BuildMaster to a new server with the same version installed on both servers.

How to Migrate BuildMaster to a New Server

  1. You will first need to back up a few things from your original server:
    1. Back up your database (you should do this even if you are not moving your SQL server).
    2. Back up your encryption key.
      • Your encryption key is stored in your shared config. This is typically stored at %PROGRAMDATA%\Inedo\SharedConfig\BuildMaster.config.
      • If you are not using a shared config file, you will need to get the encryption key from your Web_appSettings.config and the App_appSettings.config files found in your BuildMaster installation folder which should be installed to C:\Program Files\BuildMaster or C:\BuildMaster.
      • If you are not using the shared config on the old server, the new server will install using the shared config. You can copy your encryption key into the shared config on the new server.
      • Your database connection string is also stored in these files if you need to find it.
    3. Back up your artifact files.
      • You can find these by looking in the Advanced Settings for the key Artifacts.BasePath.
    4. If you want your exact extensions and versions, then also back up your extensions directory.
      • You can find this in the Advanced Settings and looking for the key Extensions.ExtensionsPath.
  2. Install BuildMaster on the new server. We recommend installing the same version as the one installed on your old server.
  3. Stop all of your BuildMaster services and Agents on all servers.
  4. If you are changing to a new database server, restore the database to your new database server.
    • If your database name or SQL server name is different from what you installed with on the new server, you will need to update your connection string to point to that database in the shared config.
    • You may need to re-add the user to the database that your website and service use to access the database.
  5. Copy your artifacts to the new server. You should copy these to the exact same directory path that the old server used.
    • If your new server has a different path in Artifacts.BasePath, then update Artifacts.BasePath to point to the restored directory path.
    • If this is different than the directory that BuildMaster was installed with, you will need to make sure that the user used by your web application and service have read/write/delete access to that folder.
    • If you have configured BuildMaster to use a Raft Repository, refer to our Raft Repository documentation for properly moving and configuring it.
  6. If you backed up your extensions, copy them to the folder set in Extensions.ExtensionsPath from Advanced Settings.
  7. On the new server, update the EncryptionKey in your shared config to the old value you backed up in step 1.
  8. Restart your application pool in IIS, and start your BuildMaster service(s) and/or Agent(s).