Get your Developer Workspace

10 MINUTE EXERCISE

In this lab you will learn about providing your Developer Workspace with a Kubernetes-native development platform and getting familiar with the OpenShift CLI and OpenShift Web Console.

What is CodeReady Workspaces?

CodeReady Workspaces

CodeReady Workspaces is a Kubernetes-native IDE and developer collaboration platform.

As an open-source project, the core goals of CodeReady Workspaces are to:

  • Accelerate project and developer onboarding: As a zero-install development environment that runs in your browser, CodeReady Workspaces makes it easy for anyone to join your team and contribute to a project.

  • Remove inconsistency between developer environments: No more: “But it works on my machine.” Your code works exactly the same way in everyone’s environment.

  • Provide built-in security and enterprise readiness: As CodeReady Workspaces becomes a viable replacement for VDI solutions, it must be secure and it must support enterprise requirements, such as role-based access control and the ability to remove all source code from developer machines.

To achieve those core goals, CodeReady Workspaces provides:

  • Workspaces: Container-based developer workspaces providing all the tools and dependencies needed to code, build, test, run, and debug applications.

  • Browser-based IDEs: Bundled browser-based IDEs with language tooling, debuggers, terminal, VCS integration, and much more.

  • Extensible platform: Bring your own IDE. Define, configure, and extend the tools that you need for your application by using plug-ins, which are compatible with Visual Studio Code extensions.

  • Enterprise Integration: Multi-user capabilities, including Keycloak for authentication and integration with LDAP or AD.

Getting your Developer Workspace with a single click

CodeReady Workspaces will provide you an out-of-the-box Developer Workspace with all the tools and the dependencies we need to do the job. And with only one single click!

Devfile

CodeReady Workspaces uses Devfiles to automate the provisioning of a specific workspace by defining:

  • projects to clone

  • browser IDE to use

  • preconfigured commands

  • tools that you need

  • application runtime definition

Providing a devfile.yaml file inside a Git source repository signals to CodeReady Workspaces to configure the project and runtime according to this file.

Click on the 'Developer Workspace' button below

Then login as user%USER_ID%/%OPENSHIFT_PASSWORD%.

Che - Login

Once completed, you will have a fully functional Browser-based IDE within the source code already imported.

Che - Workspace

Connect Your Workspace to Your OpenShift User

First, in your Workspace,

  • IDE Task

  • CLI

Click on 'Terminal' → 'Run Task…​' → 'OpenShift - Login'

Che - RunTask

Execute the following commands in the '>_ workshop_tools' terminal window

odo login $(oc whoami --show-server) --username=user%USER_ID% --password=%OPENSHIFT_PASSWORD% --insecure-skip-tls-verify
To open a '>_ workshop_tools' terminal window, click on 'Terminal' → 'Open Terminal in specific container' → 'workshop-tools'

The output should be as follows:

Connecting to the OpenShift cluster

Login successful.

You have one project on this server: "cn-project%USER_ID%"

Using project "cn-project%USER_ID%".

Welcome! See 'odo help' to get started.

Deploy the CoolStore Application in your Development Environment

In your Workspace, click on 'Terminal' → 'Run Task…​' → 'Inner Loop - Deploy Coolstore'

Che - RunTask

A terminal should be opened with the following output:

Now using project "my-project%USER_ID%" on server "https://api.cluster-3738.3738.example.opentlc.com:6443".

You can add applications to this project with the 'new-app' command. For example, try:

    oc new-app ruby~https://github.com/sclorg/ruby-ex.git

to build a new example application in Ruby. Or use kubectl to deploy a simple Kubernetes application:

    kubectl create deployment hello-node --image=gcr.io/hello-minikube-zero-install/hello-node

[...]

deploymentconfig.apps.openshift.io/catalog-coolstore annotated
deploymentconfig.apps.openshift.io/inventory-coolstore annotated
Application Configuration Externalization Done
The deployment of the Coolstore Application by Inner Loop has succeeded

Log in to the OpenShift Developer Console

OpenShift ships with a web-based console that will allow users to perform various tasks via a browser.

Click on the 'Developer Console' button below

Enter your username and password (user%USER_ID%/%OPENSHIFT_PASSWORD%) and then log in. After you have authenticated to the web console, you will be presented with a list of projects that you have permission to work with.

Select the 'Developer View' then your 'my-project%USER_ID%' to be taken to the project overview page which will list all of the routes, services, deployments, and pods that you have running as part of your project.

You should have the whole Coolstore Application up and running in your Development environment (my-project%USER_ID%)

OpenShift - Inner Loop Coolstore

Now you are ready to get started with the labs!