From bc2e43ab3fe734364b4d5aa1c25a45fd29c0d7b2 Mon Sep 17 00:00:00 2001 From: donal <donalspring@gmail.com> Date: Thu, 05 Apr 2018 18:52:36 +0200 Subject: [PATCH] Added the first part of lab1 --- exercises/1-the-manual-menace/README.md | 85 ++++++++++++++++++++++++++++++++++++++---- 1 files changed, 76 insertions(+), 9 deletions(-) diff --git a/exercises/1-the-manual-menace/README.md b/exercises/1-the-manual-menace/README.md index f04cd1b..2628785 100644 --- a/exercises/1-the-manual-menace/README.md +++ b/exercises/1-the-manual-menace/README.md @@ -39,18 +39,85 @@ 2. Commit your `enablement-ci-cd` repository to the GitLab Instance you've created ## Step by Step Instructions -> This is a structured guide with references to exact filenames and sections of text to be added. +> This is a structured guide with references to exact filenames and explanations. -### Part 1 - do some things -2. Do thing using tool X. -2. Insert blah into `file1.txt` +### Part 1 - Create OpenShift Projects +3. Clone the scaffold project to your local machine and open it in your favourite editor. +```bash +git clone git@github.com:rht-labs/enablement-ci-cd.git ``` -export SOME_THING=biscuits -``` -2. Open console and navigate to `New Item` and click it ![new-item](../images/new-item.png) -### Part 2 - do some other things -3. Do other things +3. The project is laid out as follows +``` +. +��������� README.md +��������� docker +������� ��������� jenkins-slave-node +��������� inventory +������� ��������� group_vars +������� ������� ��������� all.yml +������� ��������� hosts +��������� jenkins-s2i +������� ��������� configuration +��������� params +������� ��������� project-requests-ci-cd +��������� requirements.yml +��������� templates + ��������� project-requests.yml +``` + * `docker` folder contains our jenkins-slave images that will be used by the builds. + * `jenkins-s2i` contains the configuration and plugins we want to bring jenkins to life with + * `params` houses the variables we will load the templates with + * `templates` is a collection of OpenShift templates + * `inventory/group_vars/all.yml` is the collection of objects we want to insert into the cluster. + * `requirements.yml` is a manifest which contains the ansible modules needed to run the playbook +Open the `inventory/group_vars/all.yml` file; you should see a some variables setup to create the `ci-cd` namespace. This calls the `templates/project-requests.yml` template with the `params/project-requests-ci-cd` parameters. We will add some additional content here but first let's explore the parameters and the template + +3. Open the `params/project-requests-ci-cd` and replace the `<your name or initials>` with your name to create the correstponding projects in the cluster. +![new-item](../images/ci-cd-project-namespace.png) + +3. Create another two params files for `params/project-requests-dev` & `params/project-requests-test` and add the `NAMESPACE=<your name>-dev` && `NAMESPACE=<your name>-test` and update their Display names. + +3. In the `inventory/group_vars/all.yml` file; add the new inventory items for the projects you want to create (dev & test) by adding another object to the content array. You can copy and paste them from the `ci-cd` example and update them accordingly eg +```yaml + - name: <your name>-dev + template: "{{ inventory_dir }}/../templates/project-requests.yml" + template_action: create + params: "{{ inventory_dir }}/../params/project-requests-dev" + tags: + - projects + - name: <your name>-test + template: "{{ inventory_dir }}/../templates/project-requests.yml" + template_action: create + params: "{{ inventory_dir }}/../params/project-requests-test" + tags: + - projects +``` + +3. With the configuration in place; install the OpenShift Applier dependency +```bash +$ ansible-galaxy install -r requirements.yml --roles-path=roles +``` + +3. Apply the inventory by logging into OpenShift and then running +```bash +$ oc login -p <password> -u <user> <cluster_url> +$ ansible-playbook roles/casl-ansible/playbooks/openshift-cluster-seed.yml -i inventory/ +``` + +3. Once successful you should see an output similar to this ![playbook-success](../images/play-book-success.png) + +### Part 2 - Nexus and GitLab +4. Add apps .... + + +### Part 3 - Jenkins & s2i +5. Add new plugin ... + +### Part 4 - live, die repeat +6. Commit your code to the new repo in GitLab + +6. Burn it to the ground _____ -- Gitblit v1.9.3