Provide an immersive experience for students through practical application of DevOps culture using modern software development practices.
Allow students to experience the cultural shift they need to make in order to begin a successful DevOps journey.
An OpenShift Cluster is required to complete the lab exercises. Students will receive by email (and by the instructors on site) the following information regarding the OpenShift cluster:
- <**CLUSTER_URL**> -- Openshift Webconsole/API Server URL
- <**APPS_URL**> -- Wildcard subdomain for the exposed applications deployed in the Cluster
The following table lists the software requirements for running the lab exercises:
| Software | Version | Check |
| -------- | ------- | ----- |
| OCP CLI | v3.11 | $ oc version | grep -i --color oc
oc v3.11.0+0cbc58b |
| Ansible | => v2.6 | $ ansible --version | grep -i --color ansible
ansible 2.7.2
....
|
| NodeJS | v8.x | $ node -v
v8.11.3|
| Git Installed | | $ git --version
git version 2.17.1|
| Google Chrome Web Browser | (>59) | click here if Google Chrome is your default browser else copy the link chrome://version/
in your Chome |
| Docker latest | Community Edition - Edge | $ docker --version
Docker version 18.05.0-ce, build f150324|
| JDK | v8 | $ java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)|
| Access to an OpenShift cluster | | oc login -u <username> -p <password> <CLUSTER_URL>
|
| Text editor such as Atom, IntelliJ or Visual Studio Code
(The exercises were created using VSCode
, so the screenshots will match its layout and colour schemes) | - | - |
The lab exercises have been tested on the following operating systems
* Fedora 29 64-bit
* Microsoft Windows 10 Pro 64-bit
* macOS 10.14 "Mojave"
NOTE
> You will need administrator or super user level access on your system to install the prerequisite software for all the three operating systems.
Locked down systems with restricted accounts are not supported.
Download and Install Node.js version 8.x LTSbash wget https://nodejs.org/dist/latest-v8.x/node-v8.14.0-linux-x64.tar.gz tar -xvzf node-v8.14.0-linux-x64.tar.gz -C /usr/local/
Edit your .bashrc file and add the node binary to your PATH environment variablebash echo 'export PATH=/usr/local/node-v8.14.0/bin:$PATH' >> $HOME/.bashrc
Install OpenJDK version 1.8bash dnf install java-1.8.0-openjdk-devel
Install Google Chrome version 70 or higher by downloading and running the the 64-bit RPM installer from https://google.com/chromebash dnf install google-chrome-stable_current_x86_64.rpm
bash dnf install git ansible docker systemctl enable docker systemctl start docker
bash wget https://github.com/openshift/origin/releases/download/v3.11.0/openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz tar -xvzf openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz cp openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit/oc /usr/local/bin/ chmod +x /usr/local/bin/oc
bash dnf install <rpm_name>
Install HomeBrew for macOS by following the installation instructions at https://brew.sh/
Install Node.js version 8.x LTS using the brew command, and follow the instructions to add the node binary to the PATH environment variable.bash brew install node@8
Install Google Chrome version 70 or higher by downloading it from https://google.com/chrome
Install Docker for Mac by following the instructions from https://store.docker.com/editions/community/docker-ce-desktop-mac
Install Git using brewbash brew install git
Install Ansible using brewbash brew install ansible
Download and uncompress the OpenShift 3.11 client binary archive. Copy the oc binary to /usr/local/bin folder on your systembash wget https://github.com/openshift/origin/releases/download/v3.11.0/openshift-origin-client-tools-v3.11.0-0cbc58b-mac.zip unzip openshift-origin-client-tools-v3.11.0-0cbc58b-mac.zip cp openshift-origin-client-tools-v3.11.0-0cbc58b-mac/oc /usr/local/bin/ chmod +x /usr/local/bin/oc
Extract the zip file archive under a suitable folder in the *C:* drive. Make sure that your directory name does not have any spaces in it.
Add the directory where you uncompressed the zip file to the PATH environment variable, so that the node.exe and npm.cmd executable files are available in the system path.
Ensure that you install the JDK into a directory which has no spaces in its name. Add the JAVA_HOME\bin directory to the PATH environment variable, so that the java.exe and javac.exe executable files are available in the system path.
Install Google Chrome version 70 or higher by downloading it from https://google.com/chrome
Install Docker for Windows by following the instructions from https://hub.docker.com/editions/community/docker-ce-desktop-windows
Download and install Git for Windows by using the 64-bit installer from https://github.com/git-for-windows/git/releases/download/v2.20.0.windows.1/Git-2.20.0-64-bit.exe.
Follow the instructions at https://www.atlassian.com/git/tutorials/install-git#windows to install and verify your Git installation.
Download and install Atom text editor from https://github.com/atom/atom/releases/download/v1.33.0/AtomSetup-x64.exe, or Visual Studio Code from https://code.visualstudio.com/docs/?dv=win64
You will use a custom container image for running OpenShift client commands, and Ansible playbooks. You will map a directory on your local Windows system containing Ansible playbooks to a directory inside the container, and run the Ansible playbooks from within the container.
Execute the following commands to run Ansible playbooks on Windows systems:
Pull the container image containing the tools and utilities that are required for running Ansible playbooks:bash docker pull quay.io/redhat-training/do500-toolbox
Launch the container:bash docker run -it -v C:/do500-workspace:/home/tool-box/workarea:Z -p 8080:8080 -p 9000:9000 do500-toolbox /bin/bash
The C:/do500-workspace directory on your Windows system contains the lab files and Ansible playbooks for the lab exercises.
bash bash-4.4$ oc login -u <username> -p <password> <CLUSTER_URL> bash-4.4$ cd workarea/enablement-ci-cd bash-4.4$ ansible-playbook playbook.yml ...
The following plug-ins are useful for providing syntax highlighting for various lab files:
- YAML Syntax Highlighter
- JavaScript Syntax Highlighter
- Vue.js
- ESlint
- Jenkinsfile