GithubHelp home page GithubHelp logo

akochnev / devops-guides Goto Github PK

View Code? Open in Web Editor NEW

This project forked from openshift-labs/devops-guides

0.0 3.0 0.0 12.63 MB

DevOps Workshop with OpenShift and Containers https://www.openshift.com/

Dockerfile 100.00%

devops-guides's Introduction

DevOps Workshop on OpenShift Build Status

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

Agenda

  • 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

Install Workshop Infrastructure

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 :

  1. Edit the broker-config configmap and add this snippet right after registry::
  - name: dh
    type: dockerhub
    org: openshiftapb
    tag: ocp-3.10
    white_list: [.*-apb$]
  1. 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)

Lab Instructions on OpenShift

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

Local Lab Instructions

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

devops-guides's People

Contributors

jorgemoralespou avatar siamaksade avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.