Donal Spring
2018-08-10 8f9d34b7e726a8f2050e62763e08004f2ab3c547
exercises/1-the-manual-menace/README.md
@@ -30,11 +30,10 @@
* [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) - used to apply OpenShift objects to an OpenShift Cluster.
## 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)
![big-picture](../images/big-picture/big-picture-1.jpg)
_____
@@ -43,20 +42,20 @@
If you're feeling confident and don't want to follow the step-by-step guide these high-level instructions should provide a challenge for you:
2. Clone the repo `https://github.com/rht-labs/enablement-ci-cd` which contains the scaffold of the project. Ensure you get all remote branches.
1. Clone the repo `https://github.com/rht-labs/enablement-ci-cd` which contains the scaffold of the project. Ensure you get all remote branches.
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 of the jenkins-s2i. The templates are in `exercise1/jenkins-s2i`
3. Use the templates provided to create build of the jenkins-s2i. The templates are in `exercise1/jenkins-s2i`
2. Use the templates provided to create build and deployment configs in `<your-name>-ci-cd` for. Templates are on a branch called `exercise1/git-nexus` && `exercise1/jenkins`:
4. Use the templates provided to create build and deployment configs in `<your-name>-ci-cd` for. Templates are on a branch called `exercise1/git-nexus` && `exercise1/jenkins`:
    * Nexus
    * GitLab
    * Jenkins (using an s2i to pre-configure Jenkins)
2. Commit your `enablement-ci-cd` repository to the GitLab Instance you've created
5. Commit your `enablement-ci-cd` repository to the GitLab Instance you've created
2. Burn it all down and re-apply your inventory proving config-as-code works.
6. Burn it all down and re-apply your inventory proving config-as-code works.
## Step by Step Instructions
> This is a structured guide with references to exact filenames and explanations.
@@ -80,7 +79,7 @@
./git-pull-all.sh
```
3. Open the `innovation-labs` folder in VSCode (or your favourite editor). The project is laid out as follows
3. Open the `enablement-ci-cd` folder in VSCode (or your favourite editor). The project is laid out as follows
```
.
├── README.md
@@ -417,7 +416,7 @@
greenballs:1.15
```
![green-balls.png](../images/exercise1/green-balls.png)
Why does Jenkins have Blue Balls? More can be found [on reddit](https://www.reddit.com/r/programming/comments/4lu6q8/why_does_jenkins_have_blue_balls/) or the [jenkins blog](https://jenkins.io/blog/2012/03/13/why-does-jenkins-have-blue-balls/)
Why does Jenkins use blue to represent success? More can be found [on reddit](https://www.reddit.com/r/programming/comments/4lu6q8/why_does_jenkins_have_blue_balls/) or the [Jenkins blog](https://jenkins.io/blog/2012/03/13/why-does-jenkins-have-blue-balls/).
5. Before building and deploying the Jenkins s2i; add git credentials to it. These will be used by Jenkins to access the Git Repositories where our apps will be stored. We want Jenkins to be able to push tags to it so write access is required. There are a few ways we can do this; either adding them to the `template/jenkins.yml` as environment Variables and then including them in the `params/jenkins` file.  We could also create a token in GitLab and use it as the source secret in the Jenkins template.
But for simplicity just replace the `<USERNAME>` && `<PASSWORD>` in the `jenkins-s2i/configuration/init.groovy` with your LDAP credentials as seen below. This init file gets run when Jenkins launches and will setup the credentials for use in our Jobs in the next exercises