octopus deployment
Automated Deployment Using Octopus Deployment Tool

Automated Deployment Using Octopus Deployment Tool

Customer :Client was the product owner of a Claims Management System, a product which supports customers in full claim cycle for various clients. This claims management system is widely used by many corporate firms to support their business both internally and over web.

Business Problem :This system consisted of several ASP.NET web applications, web/windows services, Database schema / master data update and schedule tasks (needing their own very specific IIS configuration settings), that was being installed to various clients remote server and also that was manually connected to the server (Which included DEV, QA and PROD instances).

Every client machine had its specific configuration and settings which needed to be taken care of during updates or creating a new client machine.

In addition to the product deployment, certain software also needed to be installed with client specific licence keys on target machine.

The business situation required a tool to remove all manual intervention in the deployment process which can be both a new and an update request.

Challenges: Considering, multiple configurations, additional proprietary software installation which were required to service request for different client location, a new automated build needed to be created from the latest server code. Then a separate font needed to be installed with client specific keys, and some of the deployment processes also needed several server restarts. The challenge was also in the fact that, few clients worked offline and did not want to open there firewall.

The Gunaatita Edge: proposed an automated installer which is competent to perform all the manual action on just a button click. Our developers created custom scripts/packages (Web Application, Windows Service, Tasks, Database and software installer) and combined them to a single process that was to be used during the deployment process using octopus deployment as the key tool.

The installer does the following, on just a button click…

  • The installer will create new release by taking latest code from SVN/TFS and allow the client to deploy the release to a desired client machine.
  • It will transform client specific settings for specific environment as defined in automated transformation in Octopus deploy scripts.
  • The installer will be able to set-up a new or update and existing Database as per the latest master schema and run master data or migration scripts.
  • It will setup scheduled tasks and services.
  • Installation of missing windows components, software and fonts that are required to run applications.
  • Restart of the machine if needed is also controlled by the octopus deploy scripts, which sometimes are essential for the effective installation of various software components as needed by the complete suite.

Gunaatita also provided an offline installer for those clients which were not available on web. We also provided the guideline/demo regarding the whole processes and the know how to promote builds to different environments like DEV to QA to PROD etc. We also documented the whole process on how to create a new client environment and other dependent steps.


Technologies Used

  • Octopus Deployment Server
  • .NET Framework 4.5
  • Nuget Package Manager
  • Powershell Scripting
  • WinForm/WebForm
  • XML
octopus technologies