Skip to content

Latest commit

 

History

History
55 lines (44 loc) · 1.68 KB

File metadata and controls

55 lines (44 loc) · 1.68 KB

DevOps Training Platform

This is (hopefully) a working example of a delivery pipeline using

  1. Jenkins

  2. A generic build slave with only Docker installed

    1. so we don’t build on master

  3. Most commonly used build tools, meaning

    1. Maven

    2. NPM

  4. A fairly generic project

    1. a TODO list

    2. with a frontend and a backend

  5. a project-defined pipeline

Prerequisites

Launch

In order to launch your platform all you have to do is execute the following script

./setup.sh

this will

  1. launch a Vagrant Box to be used as a Jenkins Slave

    1. this box installs Docker on launch

  2. build a Jenkins Docker Image with all the necessary plugins already installed

  3. launch a container using this newly-built image

  4. download the Jenkins Client from this instance

  5. create the credentials in Jenkins

    1. we use Vagrant’s private key (found in .vagrant/machines/default/virtualbox/private_key) as Jenkins key also

  6. create the node in Jenkins

    1. we use the private IP (192.168.33.10) we set in the Vagrantfile to connect the Vagrant Box

  7. use a local folder data/ localted inside this workspace (where you cloned this project) to locally stock Jenkins files (to survive restarts)

Cleanup

./cleanup.sh

this will

  1. remove the containers concerning this training platform

  2. remove the data folder containing Jenkins home

  3. remove the jenkins-cli.jar

  4. destroy the Vagrant Box used as a Jenkins slave

  5. remove the Docker Images build for this training