-
Notifications
You must be signed in to change notification settings - Fork 5
Installation
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.
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 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.
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.
Import the Kraken step template available here, add it as a step and specify the parameters.
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 |

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