anmolbabu / odo

OpenShift Command line for Developers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OpenShift Do - Developer Focused CLI for OpenShift

Build Status codecov CircleCI mattermost

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.

Key features

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.

Installation

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

Binary installation:

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

Tarball installation:

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

Binary installation:

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

Tarball installation:

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:

  1. Download the odo-windows-amd64.exe.gz file from the GitHub releases page.
  2. Extract the file.
  3. 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.

Demonstration

The following demonstration provides an overview of OpenShift Do:

asciicast

Deploying an application using 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.

  1. Start a local OpenShift development cluster by running minishift.
$ minishift start
  1. Log into the OpenShift cluster.
$ odo login -u developer -p developer`
  1. Create an application. An application in OpenShift Do is an umbrella under which you add other components.
$ odo app create node-example-app`
  1. 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
  1. Add a component of type nodejs to your application.
$ odo create nodejs
  1. Deploy your application.
$ odo push
  1. 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

Additional documentation can be found below:

Community, discussion, contribution, and support

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.

Glossary

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.

About

OpenShift Command line for Developers

License:Apache License 2.0


Languages

Language:Go 95.5%Language:Shell 2.6%Language:Java 0.9%Language:Makefile 0.5%Language:HTML 0.4%Language:C# 0.1%Language:JavaScript 0.0%Language:Python 0.0%Language:Dockerfile 0.0%