OpenShift Do (odo) is a fast, iterative, and opinionated CLI tool for developers who write, build, and deploy applications on OpenShift.
Existing tools such as oc
are more operations-focused and require a deep-understanding of Kubernetes and OpenShift concepts. OpenShift Do abstracts away complex Kubernetes and OpenShift concepts, thus allowing developers to focus on what's most important to them: code.
OpenShift Do is designed to be simple and concise with the following key features:
- Simple syntax and design centered around concepts familiar to developers, such as project, application, and component.
- Completely client based. No server is required within the OpenShift cluster for deployment.
- Supports multiple languages and frameworks such as Node.js, Java, Ruby, Perl, PHP, and Python.
- Detects changes to local code and deploys it to the cluster automatically, giving instant feedback to validate changes in real-time.
- Lists all available components and services from the OpenShift cluster.
Prerequisites:
- OpenShift 3.9.0 and above is required.
- We recommend using Minishift.
OS-independent automated install
Use this bash script to quickly install OpenShift Do. It will automatically detect your operating system and install odo
accordingly.
curl -L https://github.com/openshift/odo/raw/master/scripts/install.sh | bash
MacOS
sudo curl -L https://github.com/openshift/odo/releases/download/v0.0.20/odo-darwin-amd64 -o /usr/local/bin/odo && sudo chmod +x /usr/local/bin/odo
sudo sh -c 'curl -L https://github.com/openshift/odo/releases/download/v0.0.20/odo-darwin-amd64.gz | gzip -d > /usr/local/bin/odo; chmod +x /usr/local/bin/odo'
Linux
sudo curl -L https://github.com/openshift/odo/releases/download/v0.0.20/odo-linux-amd64 -o /usr/local/bin/odo && sudo chmod +x /usr/local/bin/odo
sudo sh -c 'curl -L https://github.com/openshift/odo/releases/download/v0.0.20/odo-linux-amd64.gz | gzip -d > /usr/local/bin/odo; chmod +x /usr/local/bin/odo'
Windows
In order to correctly use OpenShift Do you must download it and add it to your PATH environment variable:
- Download the
odo-windows-amd64.exe.gz
file from the GitHub releases page. - Extract the file.
- Add the location of extracted binary to your PATH environment variable by following this Wiki page.
For a list of other methods such as installing the latest binary or specific OS installations, visit the installation page.
The following demonstration provides an overview of OpenShift Do:
After installing OpenShift Do, follow these steps to build, push, and deploy a Node.js application. Examples for other supported languages and runtimes can be found here.
- Start a local OpenShift development cluster by running minishift.
$ minishift start
- Log into the OpenShift cluster.
$ odo login -u developer -p developer`
- Create an application. An application in OpenShift Do is an umbrella under which you add other components.
$ odo app create node-example-app`
- Download the Node.js sample code and change directory to the location of the sample code.
$ git clone https://github.com/openshift/nodejs-ex
$ cd nodejs-ex
- Add a component of type
nodejs
to your application.
$ odo create nodejs
- Deploy your application.
$ odo push
- Create a URL to access the application and visit it to test it.
$ odo url create
$ curl nodejs-myproject.192.168.42.147.nip.io
For more in-depth information and advanced use-cases such as adding storage to a component or linking components, see the interactive tutorial or the getting started guide.
Additional documentation can be found below:
- Detailed Installation Guide
- Getting Started Guide
- Usage Examples for Other Languages and Runtimes
- CLI Reference
- Development Guide
Chat: We have a public channel #odo on chat.openshift.io.
Issues: If you have an issue with OpenShift Do, please file it.
Contributing: Want to become a contributor and submit your own code? Have a look at our development guide.
Application: An application consists of multiple microservices or components that work individually to build the entire application.
Component: A component is similar to a microservice. Multiple components make up an application. A component has different attributes like storage. OpenShift Do supports multiple component types like nodejs, perl, php, python and ruby.
Service: Typically a service is a database or a service that a component links to or depends on. For example: MariaDB, Jenkins, MySQL. This comes from the OpenShift "Service Catalog" and must be enabled within your cluster.