Octopus Deploy - Part III - Dashboard setup

For our third post about Octopus Deploy, we'll discuss the Octopus Dashboard setup.

1. Visual Studio setup
2. Team Foundation Server setup
3. Octopus Dashboard setup
4. Project Features
5. Extras

After prepping your Visual Studio solution and TFS Build, the remaining step is to configure Octopus using the steps below


You will need to get access to the Octopus Dashboard from your System Administrator before proceeding.


How a typical project would look like on the Octopus Dashboard:



Step 1 - Add Environment(s)

Typically, this is a step accomplished by your System Administrator which consists of adding all your servers e.g. Development, Staging, QA, Integration, Production etc.

To access, click on Environments in the top dashboard menu.


In the example above, you only have one server but there could be multiple servers where the code gets deployed to simultaneously. Notice the gray tags which correspond to your Environment-specific tag for every project e.g. there could be multiple different applications installed on that server in that environment i.e. Development.


Step 2 - Add Lifecycle(s)

A Lifecycle is a representation of the list of environments your application goes through from Development to its final destination on Production with a specific predefined sequence. Note: This step requires elevated permissions, if you can't get access then you need to send instructions to your System Administrator.

To access, click on Library in the top dashboard menu then click on Lifecycles in the left menu. A Lifecycle has phases e.g. Deploy to DEV, in each phase you select an Environment which includes one or more servers. 



When adding an environment, you either have it deploy automatically (typically Development environments) or manually.

Step 3 - Add Project Group

A Project Group is simply a container for one or more projects such as multiple applications and/or services that belong to a single solution, it could also be used for multiple branches that deploy to different Environments that utilize different Lifecycles.

To access, click on Projects then select All in the top dashboard menu then simply click on Add Project Group.




Step 4 - Add Project

A Project will correspond to your Visual Studio solution / project(s). 

Within a Project Group, click on Add Project and specify your Lifecycle. Also displayed will be the Lifecycle phases and which will be automated.



Step 5 - Add & Configure Project Steps

After a Project is added, you need to create and configure one or more Project Steps.

On your Project page, click on Process in the left menu then click on Add Step. You then select a Step Type (your System Administrator can add more templates to this list). The must-have Step Type is Deploy a NuGet package so select that one.



A. Select your Targets: These are the environments where you want this step to apply, since this is the core step you'll probably want it for all your environments. In some cases, you'd want to assign a step to only some environments and not to others.



B. Specify your NuGet package ID: This is the name of your assembly/dll from your project e.g. Sample.Web which would be the web application that's getting deployed. It's really important to get this name right.


C. Select and configure additional features: There are many features to select from (click on Configure Features), for this post we'll stick with the most common one "Custom install directory" and cover the other options in the next blog post.


You can set your installation folder to either a hardcoded path for ALL your environments or to an Octopus variable (recommended - also covered in the next post). You can also check the Purge option to cleanup your installation directory before a push (recommended) or simply overwrite the contents. 

D. Specify Conditions: I generally stick with the default setting but you can change these as needed to tweak your workflow.

After saving your Step you're now ready to create a release however It's best to wait for the next article that will cover more advanced Project Features.

[original publish date: 12/08/15]

Comments

Popular posts from this blog

ASP.NET Identity Remember Me

IIS Express Client Certificates

ASP.NET MVC - How to enable/disable CaC/Client Certificate authentication per area or route.