Skip to content
This repository was archived by the owner on Apr 4, 2020. It is now read-only.

Installation

John Cruikshank edited this page Jan 18, 2017 · 19 revisions

Kraken is packaged as a NuGet package intended to be deployed by Octopus. The following guide will setup a new project in Octopus used to deploy the Kraken.

Deploying to IIS

Prerequisites

Kraken is built using ASP.NET Core 1.1 and requires the ASP.NET Core Server Components to be installed on the server to run on IIS. (https://docs.microsoft.com/en-us/aspnet/core/publishing/iis)

Add Kraken NuGet feed to Octopus

Add a new feed to your Octopus server with the following URL: https://ci.appveyor.com/nuget/octopusdeploy-kraken

Feeds are managed under Library > External Feeds.

Alternatively, you can download the latest release package and upload it into your own Octopus package feed.

Create Octopus project

For the most part, the Kraken project is setup like any other project in Octopus and more or less up to you. However, the important pieces are as follows.

Process

Option 1 (Recommended): Use Kraken step template

Import the Kraken step template available here, add it as a step and specify the parameters.

Option 2: Use standard "Deploy a NuGet Package" step

1. Choose the "Deploy a NuGet Package" step type

2. Step details

Name the step anything you like. Choose a role that represents the server(s) where Kraken will be deployed.

3. Package

Choose the Kraken NuGet package from the appropriate feed.

4. Enable features

Enable the following step features:

  • Custom deployment scripts
  • IIS web site and application pool

5. Website

6. Application pool

7. IIS bindings

8. IIS authentication

9. Post deploy script

The following post deploy script fixes a few things needed to run Kraken (and ASP.NET 5 apps) out of IIS, specifically setting the app pool up as "No Managed Code" and to load the user profile.

Import-Module WebAdministration -ErrorAction SilentlyContinue
$appPool = "IIS:\\AppPools\" + $OctopusParameters['Octopus.Action[Deploy Kraken].IISWebSite.ApplicationPoolName']
Set-ItemProperty $appPool managedRuntimeVersion ""
Set-ItemProperty $appPool processModel.loadUserProfile true

10. Variables

Name Description Default Value Required
OctopusServerAddress The hostname of your Octopus server. Yes
DatabaseConnectionString The SQL database connection string. The default value will create a localdb instance as the app pool user. see appsettings.json No

Troubleshooting

https://github.com/Zywave/OctopusDeploy-Kraken/wiki/Troubleshooting