The DevOps Workshop provides full-stack and DevOps engineers an introduction to OpenShift and containers and how it can be used to build fully automated end-to-end deployment pipelines using advanced deployments techniques like rolling deploys and blue-green deployment.
The lab application used in this workshop is available at https://github.com/openshift-labs/devops-labs
- DevOps Introduction
- Explore OpenShift
- Deployment Environments
- Creating a Simple CI/CD Pipeline
- Pipeline Definition as Code
- Application Promotion Between Environments
- Running the CI/CD Pipeline on Every Change
- Zero-Downtime Deployment to Production
- Automated Zero-Downtime Deployment with CI/CD Pipelines
- Deploying Jenkins Manually
- Creating Custom Jenkins Slave Pods
An APB is provided for
deploying the Cloud-Native Workshop infra (lab instructions, Nexus, Gogs, Eclipse Che, etc) in a project
on an OpenShift cluster via the service catalog. In order to add this APB to the OpenShift service catalog, log in
as cluster admin and perform the following in the openshift-ansible-service-broker
project :
- Edit the
broker-config
configmap and add this snippet right afterregistry:
:
- name: dh
type: dockerhub
org: openshiftapb
tag: ocp-3.10
white_list: [.*-apb$]
- Redeploy the
asb
deployment
You can read more in the docs on how to configure the service catalog.
Note that if you are using the OpenShift Workshop in RHPDS, this APB is already available in your service catalog.
As an alternative, you can also run the APB directly in a pod on OpenShift to install the workshop infra:
oc login
oc new-project lab-infra
oc run apb --restart=Never --image="openshiftapb/devops-workshop-apb:ocp-3.10" \
-- provision -vvv -e namespace=$(oc project -q) -e openshift_token=$(oc whoami -t)
Or if you have Ansible installed locally, you can also run the Ansilbe playbooks directly on your machine:
oc login
oc new-project lab-infra
ansible-playbook -vvv playbooks/provision.yml \
-e namespace=$(oc project -q) \
-e openshift_token=$(oc whoami -t) \
-e openshift_master_url=$(oc whoami --show-server)
Note that if you have used the above workshop installer, the lab instructions are already deployed.
oc new-app osevg/workshopper:latest --name=guides \
-e CONTENT_URL_PREFIX=https://raw.githubusercontent.com/openshift-labs/devops-guides/ocp-3.10 \
-e WORKSHOPS_URLS=https://raw.githubusercontent.com/openshift-labs/devops-guides/ocp-3.10/_devops-workshop.yml
oc expose svc/guides
Clone the git repository and run the following inside the working copy directory:
docker run -it --rm -p 8080:8080 \
-v $(pwd):/app-data \
-e CONTENT_URL_PREFIX="file:///app-data" \
-e WORKSHOPS_URLS="file:///app-data/_devops-workshop.yml" \
quay.io/osevg/workshopper:latest