enterprise provisioning with chocolatey

Post on 15-Jan-2015

783 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Deployment automation became so popular that you’ll unlikely work on the project without it. But when it comes to OS configuration, installing tools and supplementary frameworks, many people just setup everything manually because they’ll probably do it just once or twice. The same for goes for setting up development workstation or virtual machine for reproducing issues – it may take multiple hours to do it manually: find the required frameworks and tools, download the right versions, set corporate license details and import configuration files. One thing which is usually left without attention is that automation is not just about repeating stuff thousand times. Server deployment scripts can also replace some documentation, provide a very convenient way to create identical environment, and can be easily used to scale-out in future. This talk is about the ways to automate development environment setup as well as server provisioning. I’ll show the tools, typical use cases, tips & tricks learned during implementation. After this presentation you’ll bootstrap your next development machine in one click!

TRANSCRIPT

Enterprise Provisioning with Chocolatey

About Me

Alexander Doroshenko

Sitecore Ukraine

@adoprog

http://sitecoresnippets.blogspot.com

http://github.com/adoprog

Why it matters

0

1

2

3

4

5

6

7

8

9

2011 2012 2013

Production Deployment Project Setup Developer's Desktop

Ho

urs

Developer's Desktop

Web Servers

• Hard to reproduce tricky issues

• Different configurations in a web farm

• Scaling web servers is complicated

• Test servers may be not exactly the same

Build Servers

• No identical environment for debug

• Scaling build servers is complicated

Solution?

USE

CHOCOLATEY

TO INSTALL

SOFTWARE

USE

BOXSTARTER

TO PROVISION

DESKTOP

Choco… what?

• Chocolatey is like apt-get a package manager for Windows

• Based on NuGet, uses the same package structure

• Type “cinst %whatever%” to install %whatever%

• Unattended install for simply anything

BoxStarter

• Start provisioning from console

• Chocolatey will be installed automatically

• Disables UAC and Windows Update

• Manages reboots

Create your own packages

• Do not rely on internet access speed

• Bundle configuration files (GhostDoc, StyleCop etc.)

• Set corporate license details

• Install programs without installers (nAnt, jMeter, etc.)

The New Desktop

1. Choose BoxStarter package from the library• Developer_General_Windows8

• Developer_%Project name%_Windows7

2. Provision from command line• \\Boxstarter\BoxStarter.bat Developer_General_Windows8

3. Start Hacking

The New Server

• Use Chocolatey or BoxStarter

• Always identical environments

• Simple and automated scaling

• Installation from trusted sources

• Simplifies reproducing issues

Hints

• MyGet / ProGet have useful “proxy” option

• Use dependencies to avoid duplicate code

• Use tokens & different feeds to support multiple locations

• Install and configure anything with PowerShell

top related