| | |
| | | # The PBI Menace |
| | | # The Manual Menace |
| | | |
| | | > In this lab; learners will use Ansible to drive automated provisioning of Projects, Access Control, Git, Jenkins and Nexus |
| | | > In this lab learners will use Ansible to drive automated provisioning of Projects, Access Control, Git, Jenkins and Nexus |
| | | |
| | | _____ |
| | | |
| | | ## Learning Outcomes |
| | | As a learner you will be able to |
| | | - Do thing 1 |
| | | - Do thing 2 |
| | | - Do thing 3 |
| | | |
| | | 1. Run the OpenShift Applier to automate creating cluster content |
| | | 1. Create and admin project namespaces in OpenShift |
| | | 1. Deploy commonly used applications to support the development process |
| | | |
| | | ## Tools and Frameworks |
| | | > Name of tool - short description and link to docs or website |
| | | |
| | | 1. [Jenkins](https://jenkins.io/) - OpenSource build automation server; highly customisable through plugins |
| | | 1. [Ansible]() - blah blah ... |
| | | * [GitLab](https://about.gitlab.com/) - Community driven Git server now with integrated DevOps Toolchain. |
| | | * [Nexus](https://www.sonatype.com/nexus-repository-sonatype) - Repository manager for storing lots of application types. Can also host `npm` and `Docker` registries. |
| | | * [Jenkins](https://jenkins.io/) - OpenSource Build automation server. Highly customisable with plugins. |
| | | * [Ansible](https://www.ansible.com/) - IT Automation tool used to provision and manage state of cloud and physical infrastructure. |
| | | * [OpenShift Applier](https://github.com/redhat-cop/openshift-applier) - Community driven Git server |
| | | |
| | | ## Big Picture |
| | | This exercise begins with an empty Cluster |
| | | > TODO - add big picture here... |
| | | |
| | | _____ |
| | | |
| | | ## 10,000 Ft View |
| | | > This should contain the goal of the exercise; with enough information that advanced learners could use this to build the exercise without much guidance. The information here |
| | | > This lab is aimed at the creation of the tooling that will be used to support the rest of the Exercises. The highlevel goal is to create a collection of project namespaces and populate them with Git, Jenkins & Nexus. |
| | | |
| | | If you're feeling confident and don't want to follow the step-by-step guide these highlevel instructions should provide a challenge for you: |
| | | |
| | | 2. Clone the repo `git@github.com:rht-labs/enablement-ci-cd.git` which contains the scaffold of the project. |
| | | 2. Create `<your-name>-ci-cd`, `<your-name>-dev` and `<your-name>-test` project namespaces using the inventory and run them with the OpenShift Applier to populate the cluster |
| | | 2. Use the templates provided to create build and deployment configs in `<your-name>-ci-cd` for: |
| | | * Nexus |
| | | * GitLab |
| | | * Jenkins |
| | | 2. Commit your `enablement-ci-cd` repository to the GitLab Instance you've created |
| | | |
| | | ## Step by Step Instructions |
| | | > This is a fairly structured guide with references to exact filenames and sections of text to be added. Include pictures and code snippets where appropriate. Rule of thumb is learners are dumb.... so over describe _why_ we're doing things |
| | | > This is a structured guide with references to exact filenames and sections of text to be added. |
| | | |
| | | ### Part 1 - do some things |
| | | 2. Do thing using tool X. |
| | |
| | | ### Part 2 - do some other things |
| | | 3. Do other things |
| | | |
| | | _____ |
| | | |
| | | ## Extension Tasks |
| | | > Ideas for go-getters. Advanced topic for doers to get on with if they finish early. These will usually not have a solution and are provided for additional scope. |
| | | |
| | | - Add Auth to your application |
| | | - Do some other stuff |
| | | |
| | | _____ |
| | | |
| | | ## Additional Reading |
| | | > List of links or other reading that might be of use / reference for the exercise |