Skip to content

VijayaKatikireddy/wazi-codeready-workspaces

 
 

Repository files navigation

Build Status Release License DockerHub DockerHub Knowledge Center

IBM® Wazi Developer for Red Hat® CodeReady Workspaces

IBM Wazi Developer for Red Hat CodeReady Workspaces (IBM Wazi Developer for Workspaces), delivers cloud-native developer experience, enabling development and testing of IBM z/OS application components in containerized, z/OS sandbox environment on Red Hat OpenShift Container Platform running on x86 hardware, and providing capability to deploy applications into production on native z/OS running on IBM Z hardware. IBM Wazi Developer is a development environment that provides an in-browser IDE with a single-click developer workspace with the capabilities to code, edit, build, and debug.

Features

IBM Wazi Developer for Workspaces provides a custom stack for mainframe developers with the all-in-one mainframe development package that includes the following capabilities:

  • Modern mainframe editor with rich language support for COBOL, JCL, Assembler (HLASM), and PL/I that provide language-specific features such as syntax highlighting, outline view, declaration hovering, code completion, snippets, a preview of copybooks, copybook navigation, and basic refactoring using IBM Z Open Editor
  • Source code management (SCM) integration to enable integration with any flavor of Git, a popular and modern parallel development SCM
  • Intelligent build capability that enables developers to perform a user build with IBM Dependency Based Build for any flavor of Git
  • Integrations that enable developers to work with z/OS resources such as MVS and UNIX files and JES jobs
  • Connectivity to Z host using Zowe Explorer
  • Debugging COBOL and PL/I applications using IBM Z Open Debug
  • Interacting with the IBM Remote System Explorer API
  • Mainframe Development package with custom plugin and devfile registry support using the IBM Wazi Developer stack

Documentation

Documentation can be found here for IBM Wazi Developer for Workspaces

Feadback

We would love to hear feedback from you about IBM Wazi Developer for Red Hat CodeReady Workspaces.
File an issue or provide feedback here: IBM Wazi Developer for Workspaces Issues

What is IBM Wazi Developer for Workspaces?

IBM Wazi Developer for Workspaces is built on the Red Hat CodeReady Workspaces project. The core functionality for Red Hat CodeReady Workspaces is provided by an open-source project called Eclipse Che. IBM Wazi Developer for Workspaces uses Kubernetes and containers to provide your team with a consistent, secure, and zero-configuration development environment that interacts with your IBM Z platform.

IBM Wazi Developer for Workspaces provides a modern experience for mainframe software developers working with z/OS applications in the cloud. Powered by the open-source projects Zowe and Red Hat CodeReady Workspaces, IBM Wazi Developer for Workspaces offers an easy, streamlined on-boarding process to provide mainframe developers the tools they need. Using container technology and stacks, IBM Wazi Developer for Workspaces brings the necessary technology to the task at hand.


Red Hat Content

What's inside?

This repository hosts CodeReady Workspaces assembly that mainly inherits Eclipse Che artifacts and repackages some of them:

Differences as compared to upstream:

  • Customized Dashboard (pics, icons, titles, loaders, links)
  • Samples and Stacks modules
  • Bayesian Language Server and agent
  • Product Info plugin (IDE customizations: pics, titles links)
  • Custom Dockerfile based on official RH OpenJDK image from RHCC
NOTE Dockerfiles in this repo are NOT the ones used to build RHCC container images in OSBS.

How to Build

Pre-reqs

JDK 1.8+ Maven 3.5+

Build Assembly

Run the following command in the root of a repository:

mvn clean install

The build artifact used in the Docker image will be in assembly/assembly-main/target/codeready-${version}/codeready-${version}

How to Build Container Image Locally

First, build the CRW assembly in this repo:

mvn clean install

Then just use the Dockerfile in this repo to build:

docker build --force-rm -t registry.redhat.io/codeready-workspaces/server-rhel8:1.2 . && \
docker images | grep registry.redhat.io/codeready-workspaces/server-rhel8:1.2

You can then reference this image in your deployment (set image pull policy to Always to make sure it's pulled instead of the default one).

For more info on how to test locally built changes in a local OKD 3.11 (Minishift 1.34) cluster, see Build CodeReady Workspaces server container locally and deploy using Minishift.

NOTE Stacks may reference non-existing images like docker-registry.default.svc:5000/openshift/rhel-base-jdk8. These images are built as a post installation step.

Once published, they will be in locations like these:

* registry.redhat.io/codeready-workspaces/server-rhel8:1.2
* registry.redhat.io/codeready-workspaces/server-operator-rhel8:1.2
* registry.redhat.io/codeready-workspaces/stacks-cpp-rhel8:1.2
* registry.redhat.io/codeready-workspaces/stacks-dotnet-rhel8:1.2
* registry.redhat.io/codeready-workspaces/stacks-golang-rhel8:1.2
* registry.redhat.io/codeready-workspaces/stacks-java-rhel8:1.2
* registry.redhat.io/codeready-workspaces/stacks-node-rhel8:1.2
* registry.redhat.io/codeready-workspaces/stacks-php-rhel8:1.2
* registry.redhat.io/codeready-workspaces/stacks-python-rhel8:1.2
* registry.redhat.io/codeready-workspaces/stacks-node:1.2

How to Build Container Using Jenkins and OSBS/Brew (REQUIRES VPN)

If you have access to Red Hat VPN, clone the pkgs.devel repo, then run the get-sources-jenkins.sh script to pull the latest dependency tarball into the local project, and trigger a Brew build.

kinit
git clone ssh://[email protected]/containers/codeready-workspaces
cd codeready-workspaces
./get-sources-jenkins.sh

See also:

See this document for more on how to use those build systems, in order to publish a container image to Red Hat Container Catalog:

Keeping in sync with upstream

The Dockerfile and entrypoint.sh scripts in this repo are copied from upstream repo into this one using a Jenkins job which adjusts it so it will work locally.

Upstream: http://pkgs.devel.redhat.com/cgit/containers/codeready-workspaces/tree/?h=crw-1.2-rhel-8

Job: https://codeready-workspaces-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/CRW_CI/view/Releng/job/crw_sync-pkgs.devel-to-github/

Therefore any changes to files in this repo which also exist in upstream will be overwritten. Instead, push your changes into the pkgs.devel repo, and run the job to merge them into this one.

Branding

To reskin this assembly, you need to edit the following files:

See also SVG assets in product/branding/ folder.

NOTE When saving files in Inkscape, make sure you export as Plain SVG, then edit the resulting .svg file to remove any <metadata>...</metadata> tags and all their contents. You can also remove the xmlns:rdf definition. This will ensure they compile correctly.

About

IBM Wazi for Red Hat CodeReady Workspaces

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 52.2%
  • Java 39.7%
  • Groovy 5.1%
  • CSS 1.9%
  • Dockerfile 1.1%