GoCD Workshop

This workshop is designed to introduce people to the concept of a deployment pipeline.

Requirements

  1. GitHub Account
  2. Internet Access
  3. Web Browser

Access your GoCD Instance

An IP address will be provided to your by your instructor. Go to that IP address with a web browser.

Sign in to your GitHub Account

During this workshop, GoCD will be polling a GitHub repository you control.

Go to GoCD Workshop Repository

Go to https://github.com/gocd-demo/GoCD-workshop-application and click the "Fork" button on the upper right.

Fork Repository to Your Account

This creates your own copy of the repository we'll be working with

Copy the HTTPS URL for your fork

Click on the "Clone or download" button. Make sure the URL is HTTPS. GoCD can use SSH based URLs as well, but it would require key setup.

Create Application Pipeline

Add Git URL

Paste the URL from your fork of the application repository

Set up first stage

Your first pipeline

Unpause the pipeline

Upload build artifact

Add a unit testing job

Add unit testing task

Upload test artifact

View stages

Add package stage

Add package job and task

Fetch output from build

Move the fetch artifact task to the top

Upload the installer artifact

Create functional test pipeline

Set the Application pipeline as the material

Set up first stage

Set up first job and task

Add Git repo to pipeline

It's going to fail (and it should)

Deploy script

Set up deploy environment variable

Add testing stage

Add job and task

Clean working directory

Run job on 3 agents

Upload test output

Create tab to show test output

Turn on pipeline locking

Fan in / Fan out

Clone functional test pipeline

Create user acceptance pipeline

Delete run tests stage

Create approve stage

Create approve job and task

Update deploy environment

Click manual stage

Audit trail shows approval

Clone user acceptance pipeline

Create deploy staging pipeline

Set up materials

Delete approve page

Create verify stage

Create job and task

Extract template

Name template

Create a new pipeline

Create deploy production pipeline

Choose material

Choose template

Turn on locking

Adjust materials

Set deploy environment variable

Completed pipeline