DevOps Heroes
Adding advanced automation to your toolbox
Navigation tips - Table of contents
Each lab provided by this workshop has a table of contents. Using this table of contents
and general navigation provided for your ease of use.
Keyboard:
- 'm' key = open / close table of contents
- arrow keys = move forward / back through slides
Mouse click on:
- bottom left icon = open table of contents
- bottom right arrow icons = move forward / back through slides
The workshop goals for today
This workshop is designed to introduce you to a new tool for your toolbox. The goal is to
install a process automation environment, and build a process automation project integrating
DevOps testing into a fictional organization. We'll introduce you along the way to the Red
Hat Process Automation Manager and end up with a functional DevOps testing process.
Prerequisites: Java 8+, Maven 3.6+, Red Hat Process Automation Manager 7.11,
Red Hat Process Automation Manager Kie Server 7.11, JBoss EAP 7.3
Reviewing some DevOps basics
There are many aspects of DevOps sweeping organizations today, but before we start it's
important to review the basic goals of DevOps. They focus on improving the delivery of
your products and services, such as:
- improved deployment frequency
- faster time to market
- lower new release failure rates
- faster recovery from failures
Integrate process automation
When discussing the best DevOps practices, there are hints as to why we're going to take a
look at integrating process automation in your toolbox. Here are a few common practices you'll
discover in the DevOps world:
- concentrate on PROCESS above tooling
- AUTOMATE build of application environemt
- AUTOMATE testing (security) of applications
- AUTOMATE deployment of applications
This list shows why we're looking at a tool for capturing processes and enabling your DevOps
automation.
Your new process tooling
Take a closer look at the tooling you're adding to your toolbox:
The Project - four eyes principle
DevOps testing (sub-)process
In this organization there's a large main process that automates the organizations DevOps.
We'll be looking at a sub-process that automates the testing of a unit of code pushed by
a developer:
The Project - description of process
In this process a code job is submitted by a developer, the automated rules are applied to
determine if a code review is needed by peers (+50 lines of code submitted). A review is
possible and done by a senior group if needed. Diverse logging documents process flow as
job moves through the process before heading back for deployment. Ideal jobs pass for
automated deployment.
Lab 1 - Installation
Lab Goals: To install and log in to Red Hat Process Automation Manager product
Lab 2 - Create a new project
Lab Goals: To create a new project in Process Automation Manager business
central workbench
Lab 3 - Create a data model
Lab Goals: To create a new domain model with the Process Automation Manager
data modeling tooling
Lab 4 - Create a guided rule
Lab Goals: To create guided rule for calculating if peer review of submitted job is needed
Lab 5 - Create a process
Lab Goals: To create a DevOps testing process using the process designer
Lab 6 - Completing process details
Lab Goals: To complete the details of your DevOps testing process ensuring
process validates in the designer tooling
Lab 7 - Creating process and task forms
Lab Goals: To create process and task forms as needed for peer reviews
Lab 8 - Running the process
Lab Goals: To build, deploy, and complete process including task forms for
devops testing job. We want to run both a happy-path and a job that fails,
ensuring coverage of all possible paths.
DevOps Heroes Adding advanced automation to your toolbox Eric D. Schabell Portfolio Architect Director @ericschabell http://schabell.org