Coder Social home page Coder Social logo

dscworkshop's Introduction

DSC Workshop Overview

Remember to charge your Laptop before the Workshop!

If the build fails, please donwload the latest version of AutomatedLab and pull the repository again

Goal:

  • Introduction to the Release Pipeline Model and one possible implementation using DSC
  • Takeaway the code to setup a lab environment at work/home, to learn how to roll your own DSC Pipeline
  • Share our experiences of rolling out DSC at scale in production environments, in highly regulated industries

Overview:

  1. Introduction
  2. AutomatedLab and Existing Infrastructure
  3. The Release Pipeline, and how to apply to your infrastructure
  4. Building a trusted release process
  5. Bringing Existing Infrastructure under DSC Control, with Datum

Before you start

The best way (but not mandatory), to follow along, is to get your git and github setup.

1. Fork the AutomatedLab/DscWorkshop project

Once logged in to github, create a fork of the following repository: https://github.com/AutomatedLab/DscWorkshop by clicking on the FORK button on the right of the page.

This will create a fork under your name: i.e. https://github.com/<your github handle>/DscWorkshop

Where you will be able to push your changes.

2. Git clone your fork locally

Now that you have it under your name, you can clone your fork on your laptop.

In your github page you will have the green button 'Clone or Download' providing the page https://github.com/<your github handle>/DscWorkshop.git

git clone https://github.com/<your github handle>/DscWorkshop.git

3. Set up your laptop

You need Git in your Path (You probably guessed already from above), also have a permissive ExecutionPolicy set so you can run scripts, and an Internet Access so you can pull from the Gallery.

As an Administrator run the following:

Set-ExecutionPolicy -ExecutionPolicy Bypass
Install-Module Chocolatey
Install-ChocolateySoftware
Install-ChocolateyPackage git
Install-ChocolateyPackage VisualStudioCode
# Setting up Machine level Path environment variable (for persistence)
[Environment]::SetEnvironmentVariable('Path',($Env:Path + ';' + 'C:\Program Files\Git\bin'),'Machine')
# Setting up Process level variable
[Environment]::SetEnvironmentVariable('Path',($Env:Path + ';' + 'C:\Program Files\Git\bin'),'Process')

Should you want to work with the AutomatedLab part, pull their dependencies listed here.

For Building DSC Artefacts and composing your configurations, you should be all set.


How to code along with this Lab

You can one, some, or all of the following:

  • Follow with the full Lab, setting up your lab VMs with AutomatedLab. Deploying required services (AD, SQL, TFS...), and allow you to experiment with a typical infrastructure

  • Only Play with the DSC Pipeline locally on your machine, creating roles, Nodes, and compiling artefacts.

  • Browse the code and ask questions

There will be a few slides to introduce the concepts and share our tips and tricks, loads of Q&A, and you can team up to progress faster!

Make it your own.

Next Steps

  1. AutomatedLab's DscWorkshop Lab
  2. Building DSC Artefacts

dscworkshop's People

Contributors

raandree avatar gaelcolas avatar nyanhp avatar

Watchers

James Cloos avatar Ryan Spletzer avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.