SlideShare une entreprise Scribd logo
1  sur  69
AUTOMATED RELEASE
MANAGEMENT
WITH TEAMCITY & OCTOPUSDEPLOY
CONTINOUS DELIVERY
14.06.2013 / 2
Continuous Integration
14.06.2013 / 3
Continuous Deployment
14.06.2013 / 4
Continuous Delivery
14.06.2013 / 5
It’s all about frequent releases
14.06.2013 / 6
John Allspaw: “Ops metametrics” http://slidesha.re/dsSZIr
It’s all about failing fast
The deployment pipeline
14.06.2013 / 7
Test coverage
14.06.2013 / 8
http://www.industrieit.com/blog/2012/02/a-practical-guide-to-extending-continuous-integration-to-continuous-delivery/
http://jamescrisp.org/2011/05/30/automated-testing-and-the-test-pyramid/
Blue-green deployment
14.06.2013 / 9
Jez Humble: “Continous Delivery” http://www.slideshare.net/jezhumble/continuous-delivery-5359386
Blue-green deployment
14.06.2013 / 10
Jez Humble: “Continous Delivery” http://www.slideshare.net/jezhumble/continuous-delivery-5359386
Blue-green deployment
14.06.2013 / 11
Jez Humble: “Continous Delivery” http://www.slideshare.net/jezhumble/continuous-delivery-5359386
Blue-green deployment
14.06.2013 / 12
Jez Humble: “Continous Delivery” http://www.slideshare.net/jezhumble/continuous-delivery-5359386
Canary releasing
14.06.2013 / 13
Jez Humble: “Four principles or Low-Risk Software releases” http://www.informit.com/articles/article.aspx?p=1833567
The arguments
14.06.2013 / 14
The arguments
14.06.2013 / 15
14.06.2013 / 16
DEPLOYING A WEBSITE
14.06.2013 / 17
Basic asp.net mvc4 website
<hgroup class="title">
<h1>Welcome to ASP.NET Web API!</h1>
<br />
<h2>
@WebApiApplication.Environment -
@WebApiApplication.Version
</h2>
</hgroup>
14.06.2013 / 18
Web.Development.config
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-
Document-Transform">
<appSettings>
<add key="Environment" value="Development“
xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
</appSettings>
</configuration>
14.06.2013 / 19
Creating the Octopus NuGet package
• Why NuGet?
– Metadata
– Lots of available tools
– Feed-based
– Developers know how to use them
– Already used for other purposes (check out chocolatey.org)
• Does NOT use the default NuGet conventions
– Octopus deploys the exact structure of the package
14.06.2013 / 20
mvc4webapi.nuspec
<?xml version="1.0"?>
<package
xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>Itera.NDC2013.TCOD.Web</id>
<title>ASP.NET MVC 4 Web Api demo site</title>
<version>1.0.0</version>
<authors>Kristoffer Rolf Deinoff</authors>
<owners>Kristoffer Rolf Deinoff</owners>
<licenseUrl>http://itera.no</licenseUrl>
<projectUrl>http://itera.no</projectUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>A sample project</description>
<releaseNotes>First release</releaseNotes>
</metadata>
</package>
14.06.2013 / 21
Using OctoPack
14.06.2013 / 22
Using TeamCity
14.06.2013 / 23
Using NuGet.exe
nuget.exe pack $nuspecFileName
-OutputDirectory $contentDir
-Version $version
14.06.2013 / 24
Configuring TeamCity
14.06.2013 / 25
Configuring TeamCity – Commit build
14.06.2013 / 26
Configuring TeamCity – VCS root
14.06.2013 / 27
Configuring TeamCity – Patch AssemblyInfo
14.06.2013 / 28
Configuring TeamCity - Compile
14.06.2013 / 29
Configuring TeamCity – Commit tests
14.06.2013 / 30
Configuring TeamCity – Trigger on check-in
14.06.2013 / 31
Configuring TeamCity – Build artifacts
14.06.2013 / 32
Configuring TeamCity – NuGet Server
14.06.2013 / 33
Configuring TeamCity – NuGet Server
14.06.2013 / 34
Configuring OctopusDeploy - Environments
14.06.2013 / 35
Configuring OctopusDeploy – NuGet server
14.06.2013 / 36
Configuring OctopusDeploy – Steps
14.06.2013 / 37
Configuring OctopusDeploy – Publish website
14.06.2013 / 38
Configuring OctopusDeploy – Publish website
14.06.2013 / 39
Configuring OctopusDeploy – Smoke test
14.06.2013 / 40
$url = ("http://" + $hostname + ":" + $port + "/")
Invoke-WebRequest $url -UseBasicParsing
Configuring OctopusDeploy – UAT Verification
14.06.2013 / 41
Configuring OctopusDeploy – Variables
14.06.2013 / 42
Configuring OctopusDeploy – Security
14.06.2013 / 43
Configuring OctopusDeploy – Security
14.06.2013 / 44
Configuring TeamCity – Integration build
14.06.2013 / 45
Configuring TeamCity – Dependencies
14.06.2013 / 46
Configuring TeamCity – Create release
14.06.2013 / 47
Configuring TeamCity – Integration tests
14.06.2013 / 48
$url = ("http://tcod-build:8080/")
$TeamCitySession = New-Object Microsoft.PowerShell.Commands.WebRequestSession
Invoke-WebRequest -Uri $url -WebSession $TeamCitySession -UseBasicParsing
DEPLOYING A SERVICE
14.06.2013 / 49
Asp.net mvc webapi as a service
14.06.2013 / 50
<appSettings>
<add key="Environment" value="Local" />
<add key="Hostname" value="localhost" />
<add key="Port" value="8989" />
</appSettings>
And then…
14.06.2013 / 51
Differences - Steps
14.06.2013 / 52
Differences - Publish service
14.06.2013 / 53
Differences - Variables
14.06.2013 / 54
Differences - Automated «Acceptance test»
14.06.2013 / 55
$url = ("http://tcod-build:8090/api/version")
$TeamCitySession = New-Object Microsoft.PowerShell.Commands.WebRequestSession
$response = Invoke-WebRequest -Uri $url -WebSession $TeamCitySession -UseBasicParsing
if ($response.Content.Contains("Development")){
Write-Host "Correct environment(Development)."
}
else{
Write-Host Environment 'Development' not found.
Exit 1
}
$buildNumber = $env:build_number
if ($response.Content.Contains($buildNumber)){
Write-Host "Correct build number($buildNumber)."
}
else{
Write-Host Build number '$buildNumber' not found.
Exit 1
}
WRITING POWERSHELLS SCRIPTS
14.06.2013 / 56
Deploy.config
14.06.2013 / 57
<?xml version="1.0"?>
<configuration>
<name>MyProject</name>
<nuGet>
<url>"http://www.myget.org/F/MyProject/"</url>
<apiKey>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</apiKey>
<username>myUser</username>
<password>myPassword</password>
</nuGet>
</configuration>
CreateOctopusPackage.ps1
14.06.2013 / 58
param ([string]$contentDir, [string]$version)
try{
$configFile = New-Object XML
$configFile.Load('Deploy.config')
$config = $configFile.configuration
$nuspecFileName = $config.name+'.nuspec'
$targetNuspecFileName = Join-Path $contentDir $nuspecFileName
.nuget.exe pack $targetNuspecFileName
-OutputDirectory $contentDir
-Version $version
}
catch {
Write-Error $error[0]
Exit 1
}
PublishNuGet.ps1
14.06.2013 / 59
param ([string]$contentDir, [string]$version)
try{
$configFile = New-Object XML
$configFile.Load('Deploy.config')
$config = $configFile.configuration
$nugetFileName = $config.name+'.'+$version+'.nupkg'
nuget sources Add -Name $config.name -Source $config.nuGet.url
-Username $config.nuGet.username
-Password $config.nuGet.password
nuget push $nugetFileName $config.nuGet.apiKey -Source $config.name
nuget sources Remove -Name $config.name
}
catch {
Write-Error $error[0]
Exit 1
}
CreateMSDeployPackage.ps1
14.06.2013 / 60
param ([string]$sourceDir, [string]$targetPackage)
$BuildDir = (Split-Path $MyInvocation.MyCommand.Path -Parent)
$msdeploy = $BuildDir + "msdeploy.exe"
$parameterFile = $BuildDir + "parameters.xml"
$msdeploy_params = " -verb:sync"
$msdeploy_params += " -source:contentPath=" + $sourceDir
$msdeploy_params += " -dest:package=" + $targetPackage
$msdeploy_params += " -declareParamFile:" + $parameterFile
Write-Host "creating '$targetPackage' from '$sourceDir'."
try {
iex "$msdeploy $msdeploy_params"
}
catch {
Write-Error $error[0]
Exit 1
}
Deploy.ps1
14.06.2013 / 61
. .DeployUtil.ps1
$ServiceName = "Itera.NDC2013.TCOD.Service"
$ServiceExecutable = $ServiceName + ".exe"
Install-WebApi-Service $ServiceName $ServiceExecutable
DeployUtil.ps1
14.06.2013 / 62
function Install-WebApi-Service($name, $executable) {
Write-Host "'$name'$executable'"
$service = Get-Service $name -ErrorAction SilentlyContinue
$fullPath = Resolve-Path $executable
if (! $service) {
Write-Host "Installing service"
$frameworkDir = Get-FrameworkDirectory
Set-Alias install_util (Join-Path $frameworkDir "installutil.exe")
install_util $fullPath
} else {
Write-Host "The service will be stopped and reconfigured"
Stop-Service $name -Force
& "sc.exe" config $service.Name binPath= $fullPath start= auto
}
$config = $executable + ".config"
$port = Get-Port $config
Set-User-Rights $port "NT AUTHORITYNETWORK SERVICE"
Write-Host "Starting service"
Start-Service $name | Write-Host
}
DeployUtil.ps1
14.06.2013 / 63
function Get-FrameworkDirectory {
$([System.Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory())
}
function Set-User-Rights($port, $user) {
$uri = "http://+:$port/"
$acls = (netsh http show urlacl url=$uri | Select-String -SimpleMatch $user)
if ($acls.count -eq 0 ) {
Write-Host "Setting rights for '$user' on $uri"
netsh http add urlacl url=$uri user=$user | Write-Host
} else {
Write-Host "Rights already set for '$user' on $uri."
}
}
DeployUtil.ps1
14.06.2013 / 64
function Get-Port($config)
{
Write-Host "Reading config file '$config'"
$found = $FALSE
$appConfig = [xml](cat .$config)
$appConfig.configuration.appSettings.add | foreach {
if ($_.key -eq 'Port') {
$port = $_.value
$found = $TRUE
}
}
if (-not $found) {
$port = "8080“
}
$($port)
}
AUTOMATING YOUR PROCESS
14.06.2013 / 65
Automating your process
• Create environments and projects
• Add all the automated build steps you can
• Add manual steps for the rest
• Automate manual steps one by one
• You can have more than one tentacle on a server
– Not as a service
14.06.2013 / 66
CONNECTING THE ISSUE TRACKER
14.06.2013 / 67
Connecting the issue tracker
• Connect TeacmCity throught Settings – Issue Tracker
• Connect your issue tracker to TeamCity
• Use the Issue tracker’s web api to get issues pending user acceptance
– Add them to releasenotes while deploying
14.06.2013 / 68
Kristoffer Rolf Deinoff
Lead Technologist
@gatepoet
kristoffer.deinoff@itera.no

Contenu connexe

Tendances

Javascript is your (Auto)mate
Javascript is your (Auto)mateJavascript is your (Auto)mate
Javascript is your (Auto)mateCodemotion
 
Танки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
Танки_в_Лунапарке: нагрузочное_тестирование_в_ЯндексеТанки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
Танки_в_Лунапарке: нагрузочное_тестирование_в_ЯндексеYandex
 
Dance for the puppet master: G6 Tech Talk
Dance for the puppet master: G6 Tech TalkDance for the puppet master: G6 Tech Talk
Dance for the puppet master: G6 Tech TalkMichael Peacock
 
Beyond DOM Manipulations: Building Stateful Modules with Events and Promises
Beyond DOM Manipulations: Building Stateful Modules with Events and PromisesBeyond DOM Manipulations: Building Stateful Modules with Events and Promises
Beyond DOM Manipulations: Building Stateful Modules with Events and PromisesCrashlytics
 
I/O Extended 2019 WebTech - New capabilities for the web
I/O Extended 2019 WebTech - New capabilities for the webI/O Extended 2019 WebTech - New capabilities for the web
I/O Extended 2019 WebTech - New capabilities for the webHanboramRobinJang
 
Zipkin Components #zipkin_jp
Zipkin Components #zipkin_jpZipkin Components #zipkin_jp
Zipkin Components #zipkin_jpToshiaki Maki
 
Powerful and flexible templates with Twig
Powerful and flexible templates with Twig Powerful and flexible templates with Twig
Powerful and flexible templates with Twig Michael Peacock
 
Micropage in microtime using microframework
Micropage in microtime using microframeworkMicropage in microtime using microframework
Micropage in microtime using microframeworkRadek Benkel
 
JQuery UK February 2015: Service Workers On Vacay
JQuery UK February 2015: Service Workers On VacayJQuery UK February 2015: Service Workers On Vacay
JQuery UK February 2015: Service Workers On VacayNatasha Rooney
 
JQuery UK Service Workers Talk
JQuery UK Service Workers TalkJQuery UK Service Workers Talk
JQuery UK Service Workers TalkNatasha Rooney
 
Ember background basics
Ember background basicsEmber background basics
Ember background basicsPhilipp Fehre
 
Docker Demo @ IuK Seminar
Docker Demo @ IuK SeminarDocker Demo @ IuK Seminar
Docker Demo @ IuK SeminarMartin Scharm
 
DOM Scripting Toolkit - jQuery
DOM Scripting Toolkit - jQueryDOM Scripting Toolkit - jQuery
DOM Scripting Toolkit - jQueryRemy Sharp
 
An Emoji Introduction to React Native (Panagiotis Vourtsis, Senior Front End ...
An Emoji Introduction to React Native (Panagiotis Vourtsis, Senior Front End ...An Emoji Introduction to React Native (Panagiotis Vourtsis, Senior Front End ...
An Emoji Introduction to React Native (Panagiotis Vourtsis, Senior Front End ...GreeceJS
 
HTML5 JavaScript APIs
HTML5 JavaScript APIsHTML5 JavaScript APIs
HTML5 JavaScript APIsRemy Sharp
 
Legacy applications - 4Developes konferencja, Piotr Pasich
Legacy applications  - 4Developes konferencja, Piotr PasichLegacy applications  - 4Developes konferencja, Piotr Pasich
Legacy applications - 4Developes konferencja, Piotr PasichPiotr Pasich
 
The promise of asynchronous php
The promise of asynchronous phpThe promise of asynchronous php
The promise of asynchronous phpWim Godden
 
Owl: The New Odoo UI Framework
Owl: The New Odoo UI FrameworkOwl: The New Odoo UI Framework
Owl: The New Odoo UI FrameworkOdoo
 

Tendances (20)

Javascript is your (Auto)mate
Javascript is your (Auto)mateJavascript is your (Auto)mate
Javascript is your (Auto)mate
 
Танки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
Танки_в_Лунапарке: нагрузочное_тестирование_в_ЯндексеТанки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
Танки_в_Лунапарке: нагрузочное_тестирование_в_Яндексе
 
A Gentle Introduction to Event Loops
A Gentle Introduction to Event LoopsA Gentle Introduction to Event Loops
A Gentle Introduction to Event Loops
 
Dance for the puppet master: G6 Tech Talk
Dance for the puppet master: G6 Tech TalkDance for the puppet master: G6 Tech Talk
Dance for the puppet master: G6 Tech Talk
 
Beyond DOM Manipulations: Building Stateful Modules with Events and Promises
Beyond DOM Manipulations: Building Stateful Modules with Events and PromisesBeyond DOM Manipulations: Building Stateful Modules with Events and Promises
Beyond DOM Manipulations: Building Stateful Modules with Events and Promises
 
I/O Extended 2019 WebTech - New capabilities for the web
I/O Extended 2019 WebTech - New capabilities for the webI/O Extended 2019 WebTech - New capabilities for the web
I/O Extended 2019 WebTech - New capabilities for the web
 
Zipkin Components #zipkin_jp
Zipkin Components #zipkin_jpZipkin Components #zipkin_jp
Zipkin Components #zipkin_jp
 
Powerful and flexible templates with Twig
Powerful and flexible templates with Twig Powerful and flexible templates with Twig
Powerful and flexible templates with Twig
 
Micropage in microtime using microframework
Micropage in microtime using microframeworkMicropage in microtime using microframework
Micropage in microtime using microframework
 
JQuery UK February 2015: Service Workers On Vacay
JQuery UK February 2015: Service Workers On VacayJQuery UK February 2015: Service Workers On Vacay
JQuery UK February 2015: Service Workers On Vacay
 
JQuery UK Service Workers Talk
JQuery UK Service Workers TalkJQuery UK Service Workers Talk
JQuery UK Service Workers Talk
 
Ember background basics
Ember background basicsEmber background basics
Ember background basics
 
Docker Demo @ IuK Seminar
Docker Demo @ IuK SeminarDocker Demo @ IuK Seminar
Docker Demo @ IuK Seminar
 
DOM Scripting Toolkit - jQuery
DOM Scripting Toolkit - jQueryDOM Scripting Toolkit - jQuery
DOM Scripting Toolkit - jQuery
 
An Emoji Introduction to React Native (Panagiotis Vourtsis, Senior Front End ...
An Emoji Introduction to React Native (Panagiotis Vourtsis, Senior Front End ...An Emoji Introduction to React Native (Panagiotis Vourtsis, Senior Front End ...
An Emoji Introduction to React Native (Panagiotis Vourtsis, Senior Front End ...
 
HTML5 JavaScript APIs
HTML5 JavaScript APIsHTML5 JavaScript APIs
HTML5 JavaScript APIs
 
Vyg monitor
Vyg monitorVyg monitor
Vyg monitor
 
Legacy applications - 4Developes konferencja, Piotr Pasich
Legacy applications  - 4Developes konferencja, Piotr PasichLegacy applications  - 4Developes konferencja, Piotr Pasich
Legacy applications - 4Developes konferencja, Piotr Pasich
 
The promise of asynchronous php
The promise of asynchronous phpThe promise of asynchronous php
The promise of asynchronous php
 
Owl: The New Odoo UI Framework
Owl: The New Odoo UI FrameworkOwl: The New Odoo UI Framework
Owl: The New Odoo UI Framework
 

En vedette

AzureDay Kyiv 2016 Release Management
AzureDay Kyiv 2016 Release ManagementAzureDay Kyiv 2016 Release Management
AzureDay Kyiv 2016 Release ManagementSergii Kryshtop
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery OverviewLuca Minudel
 
dotnetsheff: Continuous delivery with Team City and Octopus Deploy
dotnetsheff: Continuous delivery with Team City and Octopus Deploydotnetsheff: Continuous delivery with Team City and Octopus Deploy
dotnetsheff: Continuous delivery with Team City and Octopus DeployKevin Kuszyk
 
Octopus Deploy Tech Fest 2014
Octopus Deploy Tech Fest 2014Octopus Deploy Tech Fest 2014
Octopus Deploy Tech Fest 2014adriantwright
 
Zero Downtime Deployment
Zero Downtime DeploymentZero Downtime Deployment
Zero Downtime DeploymentJoel Dickson
 
Solve Everyday IT Problems with DevOps
Solve Everyday IT Problems with DevOpsSolve Everyday IT Problems with DevOps
Solve Everyday IT Problems with DevOpsJosiah Renaudin
 
Using Rancher for highly available deployment services with GoCD and TeamCity
Using Rancher for highly available deployment services with GoCD and TeamCityUsing Rancher for highly available deployment services with GoCD and TeamCity
Using Rancher for highly available deployment services with GoCD and TeamCitySkelton Thatcher Consulting Ltd
 
Casos de Exito Centurion
Casos de Exito CenturionCasos de Exito Centurion
Casos de Exito Centuriondinkbit
 
DevOps Skills DevConf 2016
DevOps Skills DevConf 2016DevOps Skills DevConf 2016
DevOps Skills DevConf 2016Alexey Voronin
 
Continuous integration with teamcity
Continuous integration with teamcityContinuous integration with teamcity
Continuous integration with teamcityEugene Sheretov
 
Dev ops performance lab-v2 (1)
Dev ops performance lab-v2 (1)Dev ops performance lab-v2 (1)
Dev ops performance lab-v2 (1)Rostislav Achilov
 
Как проекты приходят к DevOps?
Как проекты приходят к DevOps?Как проекты приходят к DevOps?
Как проекты приходят к DevOps?SQALab
 
Octopus Deploy and how to stop deploying like an idiot
Octopus Deploy and how to stop deploying like an idiotOctopus Deploy and how to stop deploying like an idiot
Octopus Deploy and how to stop deploying like an idiotdamovisa
 
HP Discover Session BB2160: Agile DevOps Continuous Delivery
HP Discover Session BB2160:  Agile DevOps Continuous DeliveryHP Discover Session BB2160:  Agile DevOps Continuous Delivery
HP Discover Session BB2160: Agile DevOps Continuous DeliveryCapgemini
 
DevOps модное слово или следующая ступень эволюции
DevOps модное слово или следующая ступень эволюцииDevOps модное слово или следующая ступень эволюции
DevOps модное слово или следующая ступень эволюцииAndrey Rebrov
 
DevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почемуDevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почемуAndrey Rebrov
 
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Puppet
 
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...Amazon Web Services
 
Jenkins and Chef: Infrastructure CI and Automated Deployment
Jenkins and Chef: Infrastructure CI and Automated DeploymentJenkins and Chef: Infrastructure CI and Automated Deployment
Jenkins and Chef: Infrastructure CI and Automated DeploymentDan Stine
 

En vedette (20)

AzureDay Kyiv 2016 Release Management
AzureDay Kyiv 2016 Release ManagementAzureDay Kyiv 2016 Release Management
AzureDay Kyiv 2016 Release Management
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery Overview
 
dotnetsheff: Continuous delivery with Team City and Octopus Deploy
dotnetsheff: Continuous delivery with Team City and Octopus Deploydotnetsheff: Continuous delivery with Team City and Octopus Deploy
dotnetsheff: Continuous delivery with Team City and Octopus Deploy
 
Octopus Deploy Tech Fest 2014
Octopus Deploy Tech Fest 2014Octopus Deploy Tech Fest 2014
Octopus Deploy Tech Fest 2014
 
Zero Downtime Deployment
Zero Downtime DeploymentZero Downtime Deployment
Zero Downtime Deployment
 
Team City
Team CityTeam City
Team City
 
Solve Everyday IT Problems with DevOps
Solve Everyday IT Problems with DevOpsSolve Everyday IT Problems with DevOps
Solve Everyday IT Problems with DevOps
 
Using Rancher for highly available deployment services with GoCD and TeamCity
Using Rancher for highly available deployment services with GoCD and TeamCityUsing Rancher for highly available deployment services with GoCD and TeamCity
Using Rancher for highly available deployment services with GoCD and TeamCity
 
Casos de Exito Centurion
Casos de Exito CenturionCasos de Exito Centurion
Casos de Exito Centurion
 
DevOps Skills DevConf 2016
DevOps Skills DevConf 2016DevOps Skills DevConf 2016
DevOps Skills DevConf 2016
 
Continuous integration with teamcity
Continuous integration with teamcityContinuous integration with teamcity
Continuous integration with teamcity
 
Dev ops performance lab-v2 (1)
Dev ops performance lab-v2 (1)Dev ops performance lab-v2 (1)
Dev ops performance lab-v2 (1)
 
Как проекты приходят к DevOps?
Как проекты приходят к DevOps?Как проекты приходят к DevOps?
Как проекты приходят к DevOps?
 
Octopus Deploy and how to stop deploying like an idiot
Octopus Deploy and how to stop deploying like an idiotOctopus Deploy and how to stop deploying like an idiot
Octopus Deploy and how to stop deploying like an idiot
 
HP Discover Session BB2160: Agile DevOps Continuous Delivery
HP Discover Session BB2160:  Agile DevOps Continuous DeliveryHP Discover Session BB2160:  Agile DevOps Continuous Delivery
HP Discover Session BB2160: Agile DevOps Continuous Delivery
 
DevOps модное слово или следующая ступень эволюции
DevOps модное слово или следующая ступень эволюцииDevOps модное слово или следующая ступень эволюции
DevOps модное слово или следующая ступень эволюции
 
DevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почемуDevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почему
 
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
 
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
 
Jenkins and Chef: Infrastructure CI and Automated Deployment
Jenkins and Chef: Infrastructure CI and Automated DeploymentJenkins and Chef: Infrastructure CI and Automated Deployment
Jenkins and Chef: Infrastructure CI and Automated Deployment
 

Similaire à Automated release management with team city & octopusdeploy - NDC 2013

Automated release management - DevConFu 2014
Automated release management - DevConFu 2014Automated release management - DevConFu 2014
Automated release management - DevConFu 2014Kristoffer Deinoff
 
Getting Started with Capistrano
Getting Started with CapistranoGetting Started with Capistrano
Getting Started with CapistranoLaunchAny
 
Prototyping in the cloud
Prototyping in the cloudPrototyping in the cloud
Prototyping in the cloudKirsten Hunter
 
Pyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web appsPyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web appsDylan Jay
 
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesLindsay Holmwood
 
Be pragmatic, be SOLID (at Boiling Frogs, Wrocław)
Be pragmatic, be SOLID (at Boiling Frogs, Wrocław)Be pragmatic, be SOLID (at Boiling Frogs, Wrocław)
Be pragmatic, be SOLID (at Boiling Frogs, Wrocław)Krzysztof Menżyk
 
UA Testing with Selenium and PHPUnit - ZendCon 2013
UA Testing with Selenium and PHPUnit - ZendCon 2013UA Testing with Selenium and PHPUnit - ZendCon 2013
UA Testing with Selenium and PHPUnit - ZendCon 2013Michelangelo van Dam
 
Zero-config JavaScript apps with RaveJS -- SVCC fall 2014
Zero-config JavaScript apps with RaveJS -- SVCC fall 2014Zero-config JavaScript apps with RaveJS -- SVCC fall 2014
Zero-config JavaScript apps with RaveJS -- SVCC fall 2014John Hann
 
4Developers 2015: Be pragmatic, be SOLID - Krzysztof Menżyk
4Developers 2015: Be pragmatic, be SOLID - Krzysztof Menżyk4Developers 2015: Be pragmatic, be SOLID - Krzysztof Menżyk
4Developers 2015: Be pragmatic, be SOLID - Krzysztof MenżykPROIDEA
 
Testing multi outputformat based mapreduce
Testing multi outputformat based mapreduceTesting multi outputformat based mapreduce
Testing multi outputformat based mapreduceAshok Agarwal
 
MeaNstack on Docker
MeaNstack on DockerMeaNstack on Docker
MeaNstack on DockerDaniel Ku
 
Dmp hadoop getting_start
Dmp hadoop getting_startDmp hadoop getting_start
Dmp hadoop getting_startGim GyungJin
 
Good karma: UX Patterns and Unit Testing in Angular with Karma
Good karma: UX Patterns and Unit Testing in Angular with KarmaGood karma: UX Patterns and Unit Testing in Angular with Karma
Good karma: UX Patterns and Unit Testing in Angular with KarmaExoLeaders.com
 
ZFConf 2012: Capistrano для деплоймента PHP-приложений (Роман Лапин)
ZFConf 2012: Capistrano для деплоймента PHP-приложений (Роман Лапин)ZFConf 2012: Capistrano для деплоймента PHP-приложений (Роман Лапин)
ZFConf 2012: Capistrano для деплоймента PHP-приложений (Роман Лапин)ZFConf Conference
 
淺談 Groovy 與 AWS 雲端應用開發整合
淺談 Groovy 與 AWS 雲端應用開發整合淺談 Groovy 與 AWS 雲端應用開發整合
淺談 Groovy 與 AWS 雲端應用開發整合Kyle Lin
 
RESTFUL SERVICES MADE EASY: THE EVE REST API FRAMEWORK - Nicola Iarocci - Co...
RESTFUL SERVICES MADE EASY: THE EVE REST API FRAMEWORK -  Nicola Iarocci - Co...RESTFUL SERVICES MADE EASY: THE EVE REST API FRAMEWORK -  Nicola Iarocci - Co...
RESTFUL SERVICES MADE EASY: THE EVE REST API FRAMEWORK - Nicola Iarocci - Co...Codemotion
 
Introduce to PredictionIO
Introduce to PredictionIOIntroduce to PredictionIO
Introduce to PredictionIOWei-Yuan Chang
 
Keeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro frameworkKeeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro frameworkJeremy Kendall
 
Dropwizard and Friends
Dropwizard and FriendsDropwizard and Friends
Dropwizard and FriendsYun Zhi Lin
 

Similaire à Automated release management with team city & octopusdeploy - NDC 2013 (20)

Automated release management - DevConFu 2014
Automated release management - DevConFu 2014Automated release management - DevConFu 2014
Automated release management - DevConFu 2014
 
Getting Started with Capistrano
Getting Started with CapistranoGetting Started with Capistrano
Getting Started with Capistrano
 
Prototyping in the cloud
Prototyping in the cloudPrototyping in the cloud
Prototyping in the cloud
 
Pyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web appsPyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web apps
 
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websites
 
Be pragmatic, be SOLID (at Boiling Frogs, Wrocław)
Be pragmatic, be SOLID (at Boiling Frogs, Wrocław)Be pragmatic, be SOLID (at Boiling Frogs, Wrocław)
Be pragmatic, be SOLID (at Boiling Frogs, Wrocław)
 
UA Testing with Selenium and PHPUnit - ZendCon 2013
UA Testing with Selenium and PHPUnit - ZendCon 2013UA Testing with Selenium and PHPUnit - ZendCon 2013
UA Testing with Selenium and PHPUnit - ZendCon 2013
 
Zero-config JavaScript apps with RaveJS -- SVCC fall 2014
Zero-config JavaScript apps with RaveJS -- SVCC fall 2014Zero-config JavaScript apps with RaveJS -- SVCC fall 2014
Zero-config JavaScript apps with RaveJS -- SVCC fall 2014
 
Be pragmatic, be SOLID
Be pragmatic, be SOLIDBe pragmatic, be SOLID
Be pragmatic, be SOLID
 
4Developers 2015: Be pragmatic, be SOLID - Krzysztof Menżyk
4Developers 2015: Be pragmatic, be SOLID - Krzysztof Menżyk4Developers 2015: Be pragmatic, be SOLID - Krzysztof Menżyk
4Developers 2015: Be pragmatic, be SOLID - Krzysztof Menżyk
 
Testing multi outputformat based mapreduce
Testing multi outputformat based mapreduceTesting multi outputformat based mapreduce
Testing multi outputformat based mapreduce
 
MeaNstack on Docker
MeaNstack on DockerMeaNstack on Docker
MeaNstack on Docker
 
Dmp hadoop getting_start
Dmp hadoop getting_startDmp hadoop getting_start
Dmp hadoop getting_start
 
Good karma: UX Patterns and Unit Testing in Angular with Karma
Good karma: UX Patterns and Unit Testing in Angular with KarmaGood karma: UX Patterns and Unit Testing in Angular with Karma
Good karma: UX Patterns and Unit Testing in Angular with Karma
 
ZFConf 2012: Capistrano для деплоймента PHP-приложений (Роман Лапин)
ZFConf 2012: Capistrano для деплоймента PHP-приложений (Роман Лапин)ZFConf 2012: Capistrano для деплоймента PHP-приложений (Роман Лапин)
ZFConf 2012: Capistrano для деплоймента PHP-приложений (Роман Лапин)
 
淺談 Groovy 與 AWS 雲端應用開發整合
淺談 Groovy 與 AWS 雲端應用開發整合淺談 Groovy 與 AWS 雲端應用開發整合
淺談 Groovy 與 AWS 雲端應用開發整合
 
RESTFUL SERVICES MADE EASY: THE EVE REST API FRAMEWORK - Nicola Iarocci - Co...
RESTFUL SERVICES MADE EASY: THE EVE REST API FRAMEWORK -  Nicola Iarocci - Co...RESTFUL SERVICES MADE EASY: THE EVE REST API FRAMEWORK -  Nicola Iarocci - Co...
RESTFUL SERVICES MADE EASY: THE EVE REST API FRAMEWORK - Nicola Iarocci - Co...
 
Introduce to PredictionIO
Introduce to PredictionIOIntroduce to PredictionIO
Introduce to PredictionIO
 
Keeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro frameworkKeeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro framework
 
Dropwizard and Friends
Dropwizard and FriendsDropwizard and Friends
Dropwizard and Friends
 

Plus de Kristoffer Deinoff

There's no place like home office
There's no place like home officeThere's no place like home office
There's no place like home officeKristoffer Deinoff
 
Internet of machine learning - BuildStuff '14
Internet of machine learning - BuildStuff '14Internet of machine learning - BuildStuff '14
Internet of machine learning - BuildStuff '14Kristoffer Deinoff
 
Internet of machine learning - AI Ukraine '14
Internet of machine learning - AI Ukraine '14Internet of machine learning - AI Ukraine '14
Internet of machine learning - AI Ukraine '14Kristoffer Deinoff
 
Continuous delivery in the cloud - DevConFu 2014
Continuous delivery in the cloud - DevConFu 2014Continuous delivery in the cloud - DevConFu 2014
Continuous delivery in the cloud - DevConFu 2014Kristoffer Deinoff
 

Plus de Kristoffer Deinoff (6)

There's no place like home office
There's no place like home officeThere's no place like home office
There's no place like home office
 
Internet of machine learning - BuildStuff '14
Internet of machine learning - BuildStuff '14Internet of machine learning - BuildStuff '14
Internet of machine learning - BuildStuff '14
 
Internet of machine learning - AI Ukraine '14
Internet of machine learning - AI Ukraine '14Internet of machine learning - AI Ukraine '14
Internet of machine learning - AI Ukraine '14
 
Continuous delivery in the cloud - DevConFu 2014
Continuous delivery in the cloud - DevConFu 2014Continuous delivery in the cloud - DevConFu 2014
Continuous delivery in the cloud - DevConFu 2014
 
This is how i roll!
This is how i roll!This is how i roll!
This is how i roll!
 
Hør etter da!
Hør etter da!Hør etter da!
Hør etter da!
 

Dernier

PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 

Dernier (20)

PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 

Automated release management with team city & octopusdeploy - NDC 2013