donal
2018-07-03 664135a2f2dd7f40f51a0a81b51fc1a924e1cd85
ADD - Big Picture components and fix a typo
5 files added
8 files modified
49 ■■■■■ changed files
exercises/1-the-manual-menace/README.md 5 ●●●● patch | view | raw | blame | history
exercises/2-attack-of-the-pipelines/README.md 4 ●●● patch | view | raw | blame | history
exercises/3-revenge-of-the-automated-testing/README.md 5 ●●●●● patch | view | raw | blame | history
exercises/4-an-enslaved-hope/README.md 4 ●●● patch | view | raw | blame | history
exercises/5-non-functionals-strike-back/README.md 4 ●●● patch | view | raw | blame | history
exercises/6-return-of-the-app-monitoring/README.md 4 ●●● patch | view | raw | blame | history
exercises/7-the-cluster-awakens/README.md 4 ●●● patch | view | raw | blame | history
exercises/README.md 19 ●●●●● patch | view | raw | blame | history
exercises/images/big-picture/big-picture-1.jpg patch | view | raw | blame | history
exercises/images/big-picture/big-picture-2.jpg patch | view | raw | blame | history
exercises/images/big-picture/big-picture-3.jpg patch | view | raw | blame | history
exercises/images/big-picture/big-picture-4.jpg patch | view | raw | blame | history
exercises/images/big-picture/big-picture-5.jpg patch | view | raw | blame | history
exercises/1-the-manual-menace/README.md
@@ -33,10 +33,7 @@
## Big Picture
> The Big Picture is our emerging architecture; starting with an empty cluster we populate it with projects and some ci/cd tooling.
![ds-messing-around.gif](../images/exercise1/ds-messing-around.gif)
## The Practices
[event-storming](https://rht-labs.github.io/practice-library/practices/impact-mapping/ ':include :type=iframe :')
![big-picture](../images/big-picture/big-picture-1.jpg)
_____
exercises/2-attack-of-the-pipelines/README.md
@@ -37,7 +37,9 @@
1. [VueJS](https://vuejs.org/) - Vue (pronounced /vjuː/, like view) is a progressive framework for building user interfaces. It is designed from the ground up to be incrementally adoptable, and can easily scale between a library and a framework depending on different use cases. It consists of an approachable core library that focuses on the view layer only, and an ecosystem of supporting libraries that helps you tackle complexity in large Single-Page Applications.
## Big Picture
> From the previous exercise; we created some supporting tooling needed by our app/
> From the previous exercise; we created some supporting tooling needed by our app. Now we will introduce our Sample App and create a pipeline for it
![big-picture](../images/big-picture/big-picture-2.jpg)
_____
exercises/3-revenge-of-the-automated-testing/README.md
@@ -64,8 +64,9 @@
Works with any unit testing framework.
## Big Picture
> From the previous exercise; we created a simple pipeline. We will now flesh it out with some testing to add gates to our pathway to production.
This exercise begins cluster containing blah blah
![big-picture](../images/big-picture/big-picture-3.jpg)
---
@@ -94,7 +95,7 @@
#### 1a - FE Unit tests
> In this exercise we will execute our test for the front end locally. Once verified we will add them to Jenkins.
2. Before linking our automated testing to the pipeline we'll first ensure the tests run locally. Change to the `todolist-fe` directory and run `test`.
1. Before linking our automated testing to the pipeline we'll first ensure the tests run locally. Change to the `todolist-fe` directory and run `test`.
```bash
cd todolist-fe
```
exercises/4-an-enslaved-hope/README.md
@@ -27,7 +27,9 @@
1. [Arachni Crawler](http://www.arachni-scanner.com/) - Arachni is a feature-full, modular, high-performance Ruby framework aimed towards helping penetration testers and administrators evaluate the security of modern web applications. It is free, with its source code public and available for review. It is versatile enough to cover a great deal of use cases, ranging from a simple command line scanner utility, to a global high performance grid of scanners, to a Ruby library allowing for scripted audits, to a multi-user multi-scan web collaboration platform. In addition, its simple REST API makes integration a cinch.
## Big Picture
This exercise begins cluster containing blah blah
> From the previous exercise; we gated our pipeline. Now we will add a pipeline-as-code in the form of the Jenkinfile and re-use it on the Backend too.
![big-picture](../images/big-picture/big-picture-3.jpg)
_____
exercises/5-non-functionals-strike-back/README.md
@@ -45,7 +45,9 @@
1. [stryker](http://stryker-mutator.io/) - Mutation testing! What is it? Bugs, or mutants, are automatically inserted into your production code. Your tests are run for each mutant. If your tests fail then the mutant is killed. If your tests passed, the mutant survived. The higher the percentage of mutants killed, the more effective your tests are. It's really that simple.
## Big Picture
This exercise begins cluster containing blah blah
> From the previous exercise; we introduced pipeline-as-code and new Jenkins Slave nodes. This exercise focuses on extending the pipeline with Non-functional testin and some automated security testing.
![big-picture](../images/big-picture/big-picture-4.jpg)
_____
exercises/6-return-of-the-app-monitoring/README.md
@@ -32,7 +32,9 @@
1. [Pipeline Aggregator View](https://wiki.jenkins.io/display/JENKINS/Pipeline+Aggregator+View) - Allows the users to view the history of their pipelines with stage information (failed/In Progress/Passed) and the changes monitored)
## Big Picture
This exercise begins cluster containing blah blah
> From the previous exercise; we introduced non-functional testing to our pipeline. This exercise focuses on radiation of useful information such as build stats and times from our pipeline.
![big-picture](../images/big-picture/big-picture-5.jpg)
_____
exercises/7-the-cluster-awakens/README.md
@@ -19,7 +19,9 @@
1. [Grafana](https://grafana.com/) - The analytics platform for all your metrics Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data driven culture. Trusted and loved by the community.
## Big Picture
This exercise adds no new components to the big picture
> From the previous exercise; we introduced app and jenkins monitoring. This exercise focuses on radiation of cluster statistics using Prometheus to scrape metrics and Grafana to display them.
![big-picture](../images/big-picture/big-picture-5.jpg)
_____
exercises/README.md
@@ -1,9 +1,15 @@
# Enablement Material
> Red Hat Open Innovation Labs Enablement Material.
# DevOps Culture & Practice
> Red Hat Open Innovation Labs Enablement Material. Preparing Engineers, consultants and TSMs with all the cultural and engineering practices for life in a Residency.
![jenkins-crio-ocp-star-wars-kubes](./images/jenkins-crio-ocp-star-wars-kubes.png)
This is a collection of practices and exercises to take a learner through a four day simulated residency experience. Learners can expect to be exposed to labs practices such as [Event Storming](https://rht-labs.github.io/practice-library/practices/event-storming/), [Social Contract](https://rht-labs.github.io/practice-library/practices/social-contract/) and [Impact Mapping](https://rht-labs.github.io/practice-library/practices/impact-mapping/) among many more which can be found in our [Practice Library](https://rht-labs.github.io/practice-library/). Learners will also be exposed to `Labs CI/CD` - how we use OpenShift & Ansible in conjunction with Jenkins to automate build and deploy of a sample todolist application and its required infrastructure.
## Learner Outcomes
1. Prepare participants to *jointly* deliver on upcoming Labs Residencies - specifically: senior consultants, architects, and agile PMs
2. Explore all principle practices used in a residency through a hands on real life experience
3. Enable countries and regions to run the session independently
## Learner pre-requisites
 | Software | Version | Check |
@@ -18,13 +24,14 @@
 | Access to an OpenShift cluster | | `oc login -u <username> -p <password> <cluster_url>` |
 | Text editor such as Atom, IntelliJ or Visual Studio Code <br><br> (The exercises were created using `VSCode`, so the screenshots will match its layout and colour schemes) | - | - |
> (TODO) Download the tools-container containing required Ansible and OpenShift tooling pre-installed
## Git and Containers 101
 - Git tutorial covering the basics - https://try.github.io/
 - Handy guide for those new to containers - https://developers.redhat.com/blog/2018/02/22/container-terminology-practical-introduction/
## Setup your IDE
If you are using VSCode; some handy plugins that will make the lessons easier are:
If you are using VSCode, Atom, Eclipse, IntelliJ or some other IDE that supports Plugins; some handy ones that will make the labs easier are:
 - YAML Syntax Highlighter
 - Autosave
 - Autosave
 - JavaScript Syntax Highlighter
 - Vue.js
 - Eslint
exercises/images/big-picture/big-picture-1.jpg
exercises/images/big-picture/big-picture-2.jpg
exercises/images/big-picture/big-picture-3.jpg
exercises/images/big-picture/big-picture-4.jpg
exercises/images/big-picture/big-picture-5.jpg