Running the BuildMaster Service(s) Interactively

Note: You will have to stop the BuildMaster service in order to run the service interactively. If BuildMaster is running on a production system, you might consider using the Loupe Live Session Viewer to debug the service instead.

99.99% of the time, you’ll be able debug most problems with tool integrations, builds, and BuildMaster itself using BuildMaster’s web interface . But every now and then, something will work fine when you do it, not when BuildMaster does it. Perhaps a tool is popping-up a MessageBox. Or there are mysterious domain/permissions issues. Or it could be something else that there’s really no way of knowing from the web interface.

Fortunately, there’s a way to look at what’s happening behind the scenes. As a server-based application, BuildMaster relies on Windows Services to host its server-related components. Depending on how BuildMaster is configured, there will be two services configured:

  • BuildMaster Service – coordinates build executions, scheduled builds, agent updates, etc.
  • BuildMaster Web Server (optional) – hosts the BuildMaster web application instead of IIS

Both of these services point to the same executable (bmservice.exe), and it’s possible to run that very same service from the command-line to see everything that’s going on as it’s happening.

Step 1: Stop the BuildMaster Services

By default the BuildMaster services will be named INEDOBMSVC and INEDOBMWEBSRV. You can control these services a number of different ways, but the most common is to use the Services snap in. Just navigate to Control Panel > Administrative Tools > Services, and stop the two BuildMaster Services.

Step 2: Command Line

Once the services have been stopped, open up a command prompt or PowerShell (you probably want to Run As Administrator), then navigate to the BuildMaster root folder (default is C:\BuildMaster\). Next, navigate to the Service subdirectory (cd Service), and then type in bmservice run.

The run command instructs the bmservice.exe to run in interactive mode. You can quit by hitting CTRL-C at anytime.

Step 3: Use and Ignore Service Warnings

From here, you can log-in to the web application as you normally would. Expect to see “service not running” warnings in a number of places including the header, but builds and deployments should still will work in exactly the same way:

Do not start the service while running interactively as it will likely result in several UnauthorizedAccessExceptions.