Chapter 1. Adopting OpenShift Dev Spaces

To get started with adopting OpenShift Dev Spaces for your organization, you can read the following:

1.1. Developer workspaces

Red Hat OpenShift Dev Spaces provides developer workspaces with everything you need to code, build, test, run, and debug applications:

  • Project source code
  • Web-based integrated development environment (IDE)
  • Tool dependencies needed by developers to work on a project
  • Application runtime: a replica of the environment where the application runs in production

Pods manage each component of a OpenShift Dev Spaces workspace. Therefore, everything running in a OpenShift Dev Spaces workspace is running inside containers. This makes a OpenShift Dev Spaces workspace highly portable.

The embedded browser-based IDE is the point of access for everything running in a OpenShift Dev Spaces workspace. This makes a OpenShift Dev Spaces workspace easy to share.

1.3. Benefits of reviewing pull and merge requests in Red Hat OpenShift Dev Spaces

Red Hat OpenShift Dev Spaces workspace contains all tools you need to review pull and merge requests from start to finish. By clicking a OpenShift Dev Spaces link, you get access to Red Hat OpenShift Dev Spaces-supported web IDE with a ready-to-use workspace where you can run a linter, unit tests, the build and more.

Prerequisites

  • You have access to the repository hosted by your Git provider.
  • You use a Red Hat OpenShift Dev Spaces-supported browser: Google Chrome or Mozilla Firefox.
  • You have access to a OpenShift Dev Spaces instance.

Procedure

  1. Open the feature branch to review in OpenShift Dev Spaces. A clone of the branch opens in a workspace with tools for debugging and testing.
  2. Check the pull or merge request changes.
  3. Run your desired debugging and testing tools:

    • Run a linter.
    • Run unit tests.
    • Run the build.
    • Run the application to check for problems.
  4. Navigate to UI of your Git provider to leave comment and pull or merge your assigned request.

Verification

  • (optional) Open a second workspace using the main branch of the repository to reproduce a problem.

1.4. Supported languages

Java 11 with JBoss EAP 7.4
Java stack with OpenJDK 11, Maven 3.6 and JBoss EAP 7.4
Java 11 with JBoss EAP XP 3.0 Bootable Jar
Java stack with OpenJDK 11, Maven 3.6 and JBoss EAP XP 3.0 Bootable Jar
Java 11 with JBoss EAP XP 3.0 Microprofile
Java stack with OpenJDK 11, Maven 3.6 and JBoss EAP XP 3.0
Red Hat Fuse
Red Hat Fuse stack with OpenJDK 11 and Maven 3.6.3
Tooling for Apache Camel K
Tooling to develop Integration projects with Apache Camel K
Java 11 with Gradle
Java stack with OpenJDK 11, Maven 3.6.3, and Gradle 6.1
Java 11 with Lombok
Java stack with OpenJDK 11, Maven 3.6.3 and Lombok 1.18.18
Java 11 with Quarkus
Java stack with OpenJDK 11, Maven 3.6.3, Gradle 6.1 and Quarkus Tools
Java 11 with Vert.x
Java stack with OpenJDK 11, Maven 3.6.3 and Vert.x booster
Java 11 with Maven
Java stack with OpenJDK 11, Maven 3.6.3 and Vert.x demo
Java 8 with Spring Boot
Java stack with OpenJDK 8, Maven 3.6.3 and Spring Boot Petclinic demo application
NodeJS ConfigMap Express
NodeJS stack with NPM 8, NodeJS 16 and ConfigMap Web Application
NodeJS MongoDB
NodeJS stack with NPM 8, NodeJS 16 and MongoDB 3.6
NodeJS Express
NodeJS stack with NPM 8, NodeJS 16 and Express Web Application
Python
Python Stack with Python 3.8 and pip 19.3
C/C++
C and C++ Developer Tools stack with GCC, cmake and make (Technology Preview)
.NET
.NET stack with .NET Core SDK 6 and 3.1, Runtime, C# Language Support and Debugger (Technology Preview)
Go
Stack with Go (Technology Preview)
PHP CakePHP
PHP Stack with PHP, Apache Web Server, Composer and a quickstart CakePHP application for OpenShift (Technology Preview)
PHP-DI
PHP Stack with PHP, Apache Web Server and Composer (Technology Preview)