slanted W3C logo
wispy clouds in a blue sky

Using Jenkins To Automate Building, Testing And Deployment Of New Code

Robert Harker <harker@harker.com>

Silicon Valley Linux Technology
December 2, 2015

The slides are available at: http://harker.com/Talks/JenkinsCI/
Valid CSS! Valid XHTML 1.0 Strict Creative Commons License
Using Jenkins To Automate Building, Testing And Deployment Of New Cod by Robert Harker is licensed under a Creative Commons Attribution 3.0 Unported License.

Hit the space bar or swipe left for next slide

whoami: Robert Harker

Linux Systems Administrator/DevOps Engineer.

Open Data Evangelist.

Caution: I am a Linux ops guy not a PHP programmer.

Please make an accommodation to my severe allergic reaction to Power Point

Slides prepared using vi and W3C Slidy,
A presentation system/template implemented in 6 file CSS styles sheets and one Java script.

Continuous Integration and Agile Development

Continuous Integration

Using automation to dynamically rebuild and validate code each time a change is made

Automation is key:

Agile Development

Releasing early and often

People can generally clearly remember changes in the last 2-3 weeks

Simple or Complex environment?

Simple environment:

All in one:
Jenkins CI and build server, unit/integration testing, public web server.

Complex development environment:

Build chain
A set of environments (hosts) that the updated code is migrated through

The Build

Build can refer to:

CI Server -vs- Build System

Separate knowledge of building the code from automation of build process

CI server:

Knowledge about the Environment (operations)

Build system

Knowledge about the Source Structure (development)

CI server contains operational information:

Build scripts:

Pass run time parameters via environment settings

What is jenkins?

Orchestration tool:

Jenkins is a comprehensive CI framework

Jobs and Builds

Defines job:

Automatically build job:

Jenkins Overview

Architectural components

Dashboard:

Installing Jenkins

Linux:

Follow instructions on:

Hints:

Windows:
Mac:

Left as an exercise to the user

Start Jenkins Java process

Secure Jenkins

First step is to secure jenkins

Once you have saved "Allow users to sign up" option you are in a security window:

Create your own account

In the upper right corner you should see: Select and create your own account Login with this new account Disable "Allow users to sign up": Disable: Save You have closed security window New users can be added with:

PHP code

GitHub plugin: GitHub API Plugin GIT client plugin GIT plugin Plain Credentials Notice jenkins shows status of installation

Jenkins Job

Discussion:

Questions?



Thank You

Thank Yous:

view source

Robert Harker
<harker@harker.com>