20
DEPLOYMENT TAKEN SERIOUSLY WITH OCTOPUS DEPLOY AND TEAMCITY (and PowerShell) Trondheim/Trondheim Developer Conference Tomas Jansson 28/10/2013

Deployment taken seriously with Octopus Deploy and TeamCity

Embed Size (px)

Citation preview

Page 1: Deployment taken seriously with Octopus Deploy and TeamCity

DEPLOYMENT TAKEN SERIOUSLY WITH OCTOPUS

DEPLOY AND TEAMCITY

(and PowerShell)

Trondheim/Trondheim Developer Conference

Tomas Jansson

28/10/2013

Page 2: Deployment taken seriously with Octopus Deploy and TeamCity

AGENDA

This is me

Why?

The Goal

The Tools

Demo

Summary

Page 3: Deployment taken seriously with Octopus Deploy and TeamCity

THIS IS ME

Tomas JanssonManager & Group Lead .NETBEKK Oslo

@[email protected]/mastojblog.tomasjansson.com

Page 4: Deployment taken seriously with Octopus Deploy and TeamCity
Page 5: Deployment taken seriously with Octopus Deploy and TeamCity

WHY CONTINUOUS DEPLOYMENT?

Shorter time between releases smaller impact

New features faster you can save or make money faster

Bug impact

Money

Automated deploy more time for development

Time

Page 6: Deployment taken seriously with Octopus Deploy and TeamCity

WHERE SHOULD I START?

Visualize what is needed for you to make a complete deployment

Ex:

Build

(5 min)

Test

(5 min)

Provision server

(1 hr)

Deploy

(20 min)

Then ask the following question:

• How often do I do each step during a day/week/month?

My guess is; build, test, deploy and last provision of server

Page 7: Deployment taken seriously with Octopus Deploy and TeamCity

Klikk - eller drag and drop - for å sette inn bildeThe Goa

l

Repetitive

One artifact

Automated

Page 8: Deployment taken seriously with Octopus Deploy and TeamCity

THE GOAL

You and me

VCS Build server

Deployment manager

Artifact repository

Test

QA

Prod

1

2

3

56

4

7a

7b

7c

Page 9: Deployment taken seriously with Octopus Deploy and TeamCity

THE GOAL

You and me

Git TeamCity

Octopus Deploy

NuGet feed

Test

QA

Prod

Page 10: Deployment taken seriously with Octopus Deploy and TeamCity

Tools

Page 11: Deployment taken seriously with Octopus Deploy and TeamCity

TEAMCITY

Continuous integration engine

JetBrains

Free for small teams

Page 12: Deployment taken seriously with Octopus Deploy and TeamCity

OCTOPUS DEPLOY

Automated deployment for .NET (Windows)

• Deployment dashboard

• Secure

• Promotion between environments

• Based on NuGet

• PowerShell

• Deploy to Azure

Page 13: Deployment taken seriously with Octopus Deploy and TeamCity

NUGET & OCTOPUS DEPLOY

Page 14: Deployment taken seriously with Octopus Deploy and TeamCity

OCTOPUS DEPLOY PROCESS

Pre deploy

Deploy

Post deploy

• PreDeploy.ps1

• Check environment

• Configure environment

• Deploy.ps1

• Octopus does IIS setup

• Run transformations of config files

• PostDeploy.ps1

• Delete files

• Clean up

Page 15: Deployment taken seriously with Octopus Deploy and TeamCity

PowerShell

Page 16: Deployment taken seriously with Octopus Deploy and TeamCity

Demo

http://www.mrwallpaper.com/view/despicable-me-hitman-minion-1920x1080/

Page 17: Deployment taken seriously with Octopus Deploy and TeamCity

SUMMARY

• Continuous deployment doesn’t have to be hard

• The right tools will help you a long way (TeamCity and Octopus deploy)

• Learn PowerShell, it will make your life easier

Page 18: Deployment taken seriously with Octopus Deploy and TeamCity

RESOURCES

Blog post about the setup: http://tinyurl.com/PowerOctoTeam

Octopus Deploy: http://www.octopusdeploy.com

TeamCity: http://www.jetbrains.com/teamcity/

GitHub project: https://github.com/mastoj/OctoWebSetup

NuGet download: https://nuget.org/packages/OctoWebSetup/

Page 19: Deployment taken seriously with Octopus Deploy and TeamCity

Questions?

Page 20: Deployment taken seriously with Octopus Deploy and TeamCity

Thank you!

@TomasJansson