“It works on my machine.” If you write code with, for, or near anybody else, you’ve said those words at least once. Months ago I set up a library or package or environment variable or something on my machine and I haven’t thought about it since. So the code works for me, but it may take a long time to figure out what’s missing on your machine.
Share workspaces with Factories
Built on the open-source Eclipse Che project, Red Hat CodeReady Workspaces solves this problem (and a couple of others that we’ll talk about in a minute) by delivering secure, sharable developer workspaces. Those workspaces include all the tools and dependencies needed to code, build, test, run, and debug your applications. The entire product runs in an OpenShift cluster (on-premises or in the cloud), so there’s nothing to install on your machine. Or mine.
Red Hat CodeReady Workspaces also makes onboarding easy. You can create a factory based on a workspace. Any authorized person on your team can open the factory’s URL and get a new copy of that workspace. To make the factory even more powerful, you can have it do certain tasks when a user creates a new workspace. As an example, when the new workspace is created, you can have the factory clone a repo, open some files, build them, start a server in the workspace, and deploy code to that local server. Your teammate gets on board within minutes, they have the source in front of them, and they can work with the deployed code right away.
We’ve created a video on how to use workspaces and factories here if you’d like to watch it. If you’d rather go directly to a factory URL and try Eclipse Che for yourself, visit red.ht/che-pet-clinic. (Requires a free Red Hat CodeReady Toolchain account, available at openshift.io.)
Configure workspaces with stacks
Underneath each workspace is a stack, a container image that includes language runtimes, compilers, tools, and utilities. Red Hat CodeReady Workspaces ships with stacks for many different languages. Stacks can go beyond just language support, however. A stack can contain multiple containers, allowing you to code in a replica of your production environment. A single stack might have compilers, tools, and an app server in one container and a database in the other.
Even better, you can create custom stacks and share those with your team. If you have a project that requires tools that aren’t part of one of the base stacks, you can take a base stack’s container, add whatever you need to that container, and use the new container image as the base of a new stack. Assuming everyone on your team uses that custom stack, you know everyone has the same libraries, runtimes, and tools.
If you suspect you’ll need a custom stack for your project, we’ve got video showing you how to create one here. The example in the video builds a C++ version of the 2048 game, so you can play and pretend to work while learning.
By the way: CodeReady Workspaces delivers a full-featured IDE that includes code completion, syntax highlighting, refactoring, debugging, and everything else you would expect from a great development environment. (Although you can use SSH to access your workspaces from Eclipse and other tools if you prefer.)
Securing your code
Another development issue is securing the source code and other intellectual property stored on laptops. With CodeReady Workspaces, the working copy of the code is centrally managed on the OpenShift cluster where the developer workspace runs. There is nothing on the local machine anymore. Your laptops might be anywhere, but you always know where your source code is.
And speaking of security, CodeReady Workspaces also includes Red Hat SSO to provide role-based access control for your workspaces and factories. It integrates with both LDAP and Active Directory.
Best of all, it’s easy to sign up for the beta. Visit the product page to get the code and everything you’ll ever need to know about the product.
CodeReady Workspaces gives you greater security, faster onboarding, and makes sure your code works on their machines too.