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.
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 can be found here for IBM Wazi Developer for Workspaces
- The IBM Wazi Developer for Workspaces repository - provides the devfile and plug-in registries for the Red Hat CodeReady Workspaces.
- The IBM Wazi Developer for Workspaces Sidecars repository - provides the supporting resources for the devfile and plug-in registries.
- The IBM Wazi Developer for Workspaces Operator repository - provides the Operator Lifecycle Manager for deployment.
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
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
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. |
JDK 1.8+ Maven 3.5+
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}
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 |
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:
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
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.
To reskin this assembly, you need to edit the following files:
- assembly/codeready-workspaces-assembly-dashboard-war/src/main/webapp/assets/branding/branding-crw.css - replacement for Che default css, copied via Jenkinsfile during Pipeline build
- assembly/codeready-workspaces-assembly-dashboard-war/src/main/webapp/assets/branding/product.json.template
- assembly/codeready-workspaces-assembly-dashboard-war/src/main/webapp/assets/branding/CodeReady.ico - browser tab favicon
- assembly/codeready-workspaces-assembly-dashboard-war/src/main/webapp/assets/branding/CRW_wordmark-bold-white.svg - top left wordmark
- assembly/codeready-workspaces-assembly-dashboard-war/src/main/webapp/assets/branding/CodeReady_icon_dashboard_footer.svg - bottom left icon
- assembly/codeready-workspaces-assembly-dashboard-war/src/main/webapp/assets/branding/CodeReady_icon_loader.svg - dashboard loading animation
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. |