Hedgehog Documentation

Service Administration

  • Last Modified: 2019-07-18

The Hedgehog Service is a key component of Hedgehog's architecture, and is what actually runs your deployment plans using the execution engine. It's a standard Windows Service Application, and may be managed and configured using the Windows Service Manager or sc.exe as you see fit.

Managing the Service from the Web Application

In addition to stopping and starting the service, you can see the service's live logs; this may be helpful when diagnosing problems or working with Inedo's support team to track down unexpected behavior or bugs.

Task Runners

Task runners run well-defined background jobs, on either a periodic and/or manual basis. Many will create sub-tasks that allow you to better visualize what the service is doing. Some task runners can be manually triggered. This should only be needed in debugging purposes, as the Web Application will trigger them in response to certain actions (such as editing a plan), and they are always executed on service start.

  • Execution Dispatcher: monitors the database for executions that are ready to run, and creates a sub-task to run them; this runs periodically, as defined by the ExecutionDispatcher.Frequency configuration setting (5 seconds by default)
  • Infrastructure Sync: if enabled, queries the configured source for infrastructure configuration and dispatches an execution if there are any changes; this runs periodically, as defined by the Infrastructuresync.Frequency configuration setting (60 seconds by default)
  • Agent Checker: checks the status of connected servers periodically, performs process host updates as needed, and marks outdated Inedo agents
  • Automatic Gate Checker: evaluates a specified deployment set's automated gates, and marks the time and status of the check; this is triggered from the web
  • Retention Policy: evaluates retention policies every 10 minutes

Service Configuration

By default, the Hedgehog Service is named INEDOHEDGEHOGSVC, runs under the NetworkService account, and is granted Read, Write, ListDirectory privileges to the following paths:

  • ExecutionTempPath
  • ExtensionsPath
  • ExtensionsTempPath

If you choose to configure this as a custom domain account, it will be important to grant these same privileges.

Is this documentation incorrect or incomplete? Help us by contributing!

This documentation is licensed under CC-BY-SA-4.0 and stored in GitHub.

Generated from commit ce197caa on master