SlideShare a Scribd company logo
Release management with NuGet/Chocolatey/JIRA

              Iaroslav Sergieiev




                                     Sep 29, 2012
Release management with NuGet/Chocolatey/JIRA
1
Package managers
Release management with NuGet/Chocolatey/JIRA
Cool things to learn from Linux


Geeks rarely search apps in Internet. :)

They just type apps they need and get
them instantly.

Thanks to package managers!
Package managers



          search in repositories


          download, install
          uninstall, repair


          resolve dependencies
Package managers’ purpose

   for developer packages
        for applications




gems          apt           yum

       and many others...
Release management with NuGet/Chocolatey/JIRA
8,180                              54,761
unique packages                     total packages




           24,613,866
                  total downloads
Release management with NuGet/Chocolatey/JIRA
Good news do not end. Meet Chocolatey!
It’s free. And it’s NuGet-based.
Release management with NuGet/Chocolatey/JIRA
2
Use NuGet in Enterprise
NuGet Package Explorer (free GUI)




              http://npe.codeplex.com
Make your own template for CI builds




https://github.com/chucknorris/warmup
3 ways to setup your local NuGet feed

1.Make a shared folder over network
2.Install-Package NuGet.Server (on MVC)
3.Deploy full-scaled NuGet gallery (we’ll skip it today)
Way 1: Just share a folder on the network
Configure Package Manager
Configure Package Manager
Configure Package Manager
Configure Package Manager
Choose your local feed
Your package is ready for install
Way 2: Setup NuGet.Server
Blank Web Application
Run the command below...
You are almost there
Configure appSettings

<appSettings>
    <add key="packagesPath" value="C:MyPackages" />
    <add key="apiKey" value="" />
</appSettings>
Your local feed server is running
Release management with NuGet/Chocolatey/JIRA
3
Several NuGet feeds for QA, Staging, Production
How is it structured in Debian Linux?




                            http://packages.debian.org
Readiness of packages in Debian Linux


   squeeze         wheezy               sid




    stable         testing        experimental
It is pretty similar to enterprise workflow




   production          staging         night builds
       live              qa         feature branches
Guys, how you do that?

• Answer was simple.
britney2, set of scripts
britney2, set of scripts
Can we do that easily in .NET?
Let’s invent wheel
A little wheel... :)
Tools we use in our work




                           Mercurial
Tools we use in our work




                                Mercurial




              what can we place here?
Auto-updating environments: my vision
private

                                 ?
public
                                 + octo-nuget




          /qa   /sta   /live


                               scheduled task
JIRA: Issue Type “Delivery”
JIRA: Sub-Task Type “Release Package”
JIRA: Sub-Task Type “Release Package”




   contains project name and build number (full version)
JIRA: Install HTTP Request Workflow Function
Make workflow transitions do the job

 Deploy to QA

POST /services/jira.ashx?action=publish&issue=%ISSUE_KEY%&to=qa
                                         get issue fields via JIRA REST API
  Rollback from LIVE

POST /services/jira.ashx?action=rollback&issue=%ISSUE_KEY%&from=live
                                       e.g.: project = TST, version = 0.2.0.1
   Did not pass QA

POST /services/jira.ashx?action=reject&issue=%ISSUE_KEY%


                            copy = publish

                             TST.0.2.0.1.nupkg
                                                   delete = rollback, reject
Check out these commercial solutions also...




                 http://octopusdeploy.com
Related links


                                                http://octopusdeploy.com




                                                http://nuget.org


                                                  chocolatey
                                                http://chocolatey.org



http://www.slideshare.net/maartenba/organize-
     your-chickens-nuget-for-the-enterprise
Related links


                                                http://octopusdeploy.com




                                                http://nuget.org


                                                  chocolatey
                                                http://chocolatey.org



http://www.slideshare.net/maartenba/organize-
     your-chickens-nuget-for-the-enterprise
Iaroslav Sergieiev
          @noomorph
twitter           github           bitbucket




  https://github.com/noomorph/octo-nuget

More Related Content

What's hot (20)

PPTX
Groovy for System Administrators
Daniel Woods
 
PDF
第1回名古屋Grails/Groogy勉強会「Grailsを始めてみよう!」
Tsuyoshi Yamamoto
 
PPTX
Build 2017 - P4103 - What's new in ChakraCore
Windows Developer
 
PPTX
Bower - A package manager for the web
Larry Nung
 
PDF
Microservices for the Masses with Spring Boot, JHipster, and JWT - Rich Web 2016
Matt Raible
 
PDF
Bootiful Development with Spring Boot and React - RWX 2017
Matt Raible
 
PDF
First steps with Gutenberg for developers - WC Prague 2020
Magdalena Paciorek
 
PDF
Learning jQuery @ MIT
jeresig
 
PDF
Webpack: from 0 to 2
Alessandro Bellini
 
PDF
Testable JavaScript
Ryunosuke SATO
 
PDF
Service Worker - Reliability bits
jungkees
 
PDF
Writing a Jenkins / Hudson plugin
Anthony Dahanne
 
PDF
Webpack Tutorial, Uppsala JS
Emil Öberg
 
PDF
Introduction to Express and Grunt
Peter deHaan
 
PPTX
Jenkins Plugin Development With Gradle And Groovy
Daniel Spilker
 
PDF
[1C1]Service Workers
NAVER D2
 
PDF
Introduction to Grunt.js on Taiwan JavaScript Conference
Bo-Yi Wu
 
PDF
Big query - Command line tools and Tips - (MOSG)
Soshi Nemoto
 
PDF
Cool like a Frontend Developer: Grunt, RequireJS, Bower and other Tools
Ryan Weaver
 
KEY
iOSDevCamp 2011 - Getting "Test"-y: Test Driven Development & Automated Deplo...
Rudy Jahchan
 
Groovy for System Administrators
Daniel Woods
 
第1回名古屋Grails/Groogy勉強会「Grailsを始めてみよう!」
Tsuyoshi Yamamoto
 
Build 2017 - P4103 - What's new in ChakraCore
Windows Developer
 
Bower - A package manager for the web
Larry Nung
 
Microservices for the Masses with Spring Boot, JHipster, and JWT - Rich Web 2016
Matt Raible
 
Bootiful Development with Spring Boot and React - RWX 2017
Matt Raible
 
First steps with Gutenberg for developers - WC Prague 2020
Magdalena Paciorek
 
Learning jQuery @ MIT
jeresig
 
Webpack: from 0 to 2
Alessandro Bellini
 
Testable JavaScript
Ryunosuke SATO
 
Service Worker - Reliability bits
jungkees
 
Writing a Jenkins / Hudson plugin
Anthony Dahanne
 
Webpack Tutorial, Uppsala JS
Emil Öberg
 
Introduction to Express and Grunt
Peter deHaan
 
Jenkins Plugin Development With Gradle And Groovy
Daniel Spilker
 
[1C1]Service Workers
NAVER D2
 
Introduction to Grunt.js on Taiwan JavaScript Conference
Bo-Yi Wu
 
Big query - Command line tools and Tips - (MOSG)
Soshi Nemoto
 
Cool like a Frontend Developer: Grunt, RequireJS, Bower and other Tools
Ryan Weaver
 
iOSDevCamp 2011 - Getting "Test"-y: Test Driven Development & Automated Deplo...
Rudy Jahchan
 

Similar to Release management with NuGet/Chocolatey/JIRA (20)

PPTX
SDC Sweden - Organize your chickens - NuGet for the Enterprise
Maarten Balliauw
 
PPTX
An overview of the NuGet ecosystem - Mobel.io
Maarten Balliauw
 
PPTX
20111010 agile minds - organize your chickens - nuget for the enterprise
Xavier Decoster
 
PPTX
Using nu get the way you should svcc
Maarten Balliauw
 
PPTX
Organize your chickens - NuGet for the Enterprise
Xavier Decoster
 
PPTX
Using NuGet the way you should - TechDays NL 2014
Maarten Balliauw
 
PPTX
Organize your chickens: NuGet for the enterprise
Maarten Balliauw
 
PPTX
NuGet (Anti-)Patterns - Tales from the Trenches
Xavier Decoster
 
PPSX
Organize your Chickens - NuGet for the Enterprise (UGIALTNET)
Xavier Decoster
 
PDF
Js infrostructure
Igor Alpert
 
PPTX
NuGet (anti-)patterns - Tales from the Trenches
Xavier Decoster
 
PDF
Modern web applications infrastructure
EPAM
 
PDF
Towards a responsive business - DevOps MeetUp Melbourne 2013
Nigel Fernandes
 
PDF
The Brave New World of Continuous Release - Baruch Sadogursky
jaxconf
 
PDF
Coscup
Giivee The
 
PPTX
NuGet beyond Hello World - DotNext Piter 2017
Maarten Balliauw
 
PPTX
Evolution of NuGet
Jeff Handley
 
PDF
Continuous Deployment: The Dirty Details
Mike Brittain
 
PPTX
Creating and Maintaining an Open Source Library
Nicholas Schweitzer
 
PPTX
Developing NuGet
Jeff Handley
 
SDC Sweden - Organize your chickens - NuGet for the Enterprise
Maarten Balliauw
 
An overview of the NuGet ecosystem - Mobel.io
Maarten Balliauw
 
20111010 agile minds - organize your chickens - nuget for the enterprise
Xavier Decoster
 
Using nu get the way you should svcc
Maarten Balliauw
 
Organize your chickens - NuGet for the Enterprise
Xavier Decoster
 
Using NuGet the way you should - TechDays NL 2014
Maarten Balliauw
 
Organize your chickens: NuGet for the enterprise
Maarten Balliauw
 
NuGet (Anti-)Patterns - Tales from the Trenches
Xavier Decoster
 
Organize your Chickens - NuGet for the Enterprise (UGIALTNET)
Xavier Decoster
 
Js infrostructure
Igor Alpert
 
NuGet (anti-)patterns - Tales from the Trenches
Xavier Decoster
 
Modern web applications infrastructure
EPAM
 
Towards a responsive business - DevOps MeetUp Melbourne 2013
Nigel Fernandes
 
The Brave New World of Continuous Release - Baruch Sadogursky
jaxconf
 
Coscup
Giivee The
 
NuGet beyond Hello World - DotNext Piter 2017
Maarten Balliauw
 
Evolution of NuGet
Jeff Handley
 
Continuous Deployment: The Dirty Details
Mike Brittain
 
Creating and Maintaining an Open Source Library
Nicholas Schweitzer
 
Developing NuGet
Jeff Handley
 
Ad

Recently uploaded (20)

PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PDF
Python basic programing language for automation
DanialHabibi2
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PDF
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PPT
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
Python basic programing language for automation
DanialHabibi2
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
Ad

Release management with NuGet/Chocolatey/JIRA

Editor's Notes