Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Enterprise Provisioning with Chocolatey

Enterprise Provisioning with Chocolatey

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!

Avatar for Alexander Doroshenko

Alexander Doroshenko

October 12, 2013
Tweet

Other Decks in Programming

Transcript

  1. Why it matters 0 1 2 3 4 5 6

    7 8 9 2011 2012 2013 Production Deployment Project Setup Developer's Desktop Hours
  2. 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
  3. 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
  4. BoxStarter • Start provisioning from console • Chocolatey will be

    installed automatically • Disables UAC and Windows Update • Manages reboots
  5. 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.)
  6. 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
  7. The New Server • Use Chocolatey or BoxStarter • Always

    identical environments • Simple and automated scaling • Installation from trusted sources • Simplifies reproducing issues
  8. 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