Giter Site home page Giter Site logo

cicd_learning_lab's Introduction

CICD Learning Lab

Here are links to each part of the lab. They do build on each other so be sure to go in order.

  1. Environment Prep
  2. Stage 1 - Continuous Integration
  3. Stage 2 - Continuous Delivery
  4. Install the Application
  5. Stage 3 - Continuous Deployment
  6. Stage 4 - Monitoring and Notify Phase
  7. Bonus - CICD In Action!
  8. Clean-Up

Introduction

This lab is intended to be an introduction to setting up a very basic CI/CD (Continuous Integration/Continuous Delivery) Pipeline. There are many different technologies and methods that can be used for CI/CD, in this lab we will use:

Prerequisites

To run through this lab, you will need to have accounts (all free) created with the following services, as well as a set of tools properly setup on your laptop or workstation.

Accounts

  • github.com
  • hub.docker.com
    • **Note: if you are using 2FA for your docker account, let the admin know, as that will change how you do authentication later in the lab exerices.
  • CiscoSpark.com
    • You will also use your Spark login to retrieve the Spark API token. Go to developer.ciscospark.com, where you will find your token by logging into the developer portal, clicking on your image in the upper right corner, and clicking Copy Spark Token

Laptop or Workstation

There is no direct requirement for a particular Operating System to be used. Windows, Mac, or Linux should all work as long as the following software is available.

Note: Several of the commands and scripts in the lab involve executing bash commands. These will work natively on a Mac or Linux machine. On Windows you'll need to have bash tools installed. In future updates, alternative commands using PowerShell may be added.

  • git
  • docker
    • for platforms with native docker available (ie Linux/Mac) having the docker daemon installed and running can be used
    • docker-machine is also fully acceptable for this lab
    • Installation Instructions: https://docs.docker.com/engine/installation/
      • Optionally, you can install the full Docker toolbox for Mac, Linux, or Windows
  • Python 2.7
  • drone command line tools
    • drone is the CICD tool used for this lab, and the command line tools are used to properly secure the secret information (i.e. userids, passwords) used for all the services utilized
    • the tools require docker to be installed and working
    • Installation Instructions: http://readme.drone.io/devs/cli
    • Basic Installation Steps
      • Linux
        • curl http://downloads.drone.io/drone-cli/drone_linux_amd64.tar.gz | tar zx
        • sudo install -t /usr/local/bin drone
      • Mac
        • curl http://downloads.drone.io/drone-cli/drone_darwin_amd64.tar.gz | tar zx
        • sudo cp drone /usr/local/bin

Lab Environment Details

For this lab you will be leveraging a Lab Mantl Instance and Drone Build Server. Your lab admin will provide the following information. Make a note of these details as you will need them periodically during the following lab exercises.

  • Drone Build Server Address (referred to as DRONE_SERVER)
  • Mantl Control Server Address (referred to as "Mantl Control Server")
  • Mantl Username
  • Mantl Password
  • Mantl Application Domain (referred to as "Lab Application domain")
  • Spark RoomId for Notifications (a hash key provided for Spark Room notifications and referred to as SPARK_ROOM)

Next Step!

Now that you've got all the pre-reqs setup, move onto the next step.

  1. Environment Prep

cicd_learning_lab's People

Contributors

hpreston avatar

Watchers

 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.