mirror of
https://github.com/redhat-developer/odo.git
synced 2025-10-19 03:06:19 +03:00
Readme edits (#1462)
* readme edits * edits based on review comments * changes as per review comments
This commit is contained in:
committed by
Tomas Kral
parent
5c7b713593
commit
0625e25be9
111
README.md
111
README.md
@@ -1,27 +1,32 @@
|
||||
<img src="./docs/img/openshift.png" width="180" align="right">
|
||||
|
||||
# Odo - Developer Focused CLI for OpenShift
|
||||
# OpenShift Do - Developer Focused CLI for OpenShift
|
||||
|
||||
[](https://travis-ci.org/redhat-developer/odo) [](https://codecov.io/gh/redhat-developer/odo) [](https://circleci.com/gh/redhat-developer/odo/tree/master) [](https://chat.openshift.io/developers/channels/odo)
|
||||
|
||||
A fast iterative tool for deploying your source code straight to OpenShift.
|
||||
OpenShift Do (odo) is a fast, iterative, and opinionated CLI tool for developers who write, build, and deploy applications on OpenShift.
|
||||
|
||||
## Features
|
||||
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.
|
||||
|
||||
- Designed for fast, iterative development cycles
|
||||
- 100% client based. No server required within your OpenShift cluster for deployment
|
||||
- Supports multiple languages and frameworks such as Node.js, Java, Ruby, Perl, PHP and Python
|
||||
- Detect changes to your local code and deploy automatically with `odo watch`
|
||||
- List all available components and services from your OpenShift cluster
|
||||
## 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
|
||||
|
||||
> The only requirement is **OpenShift 3.9.0** and above. A recommended way of testing out and using OpenShift locally is [Minishift](https://github.com/minishift/minishift).
|
||||
**Prerequisites:**
|
||||
* OpenShift 3.9.0 and above is required.
|
||||
* We recommend using [Minishift](https://github.com/minishift/minishift).
|
||||
|
||||
<details>
|
||||
<summary> :package: :rocket: OS-independent automated install</summary>
|
||||
<summary> OS-independent automated install</summary>
|
||||
|
||||
#### The quickest way to install odo is via this [bash script](./scripts/install.sh), which will automatically detect your operating system and install `odo` accordingly.
|
||||
#### Use this [bash script](./scripts/install.sh) to quickly install OpenShift Do. It will automatically detect your operating system and install `odo` accordingly.
|
||||
|
||||
```sh
|
||||
curl -L https://github.com/redhat-developer/odo/raw/master/scripts/install.sh | bash
|
||||
@@ -30,7 +35,7 @@ curl -L https://github.com/redhat-developer/odo/raw/master/scripts/install.sh |
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary> :package: :apple: MacOS</summary>
|
||||
<summary> MacOS</summary>
|
||||
|
||||
#### Binary installation:
|
||||
```sh
|
||||
@@ -45,7 +50,7 @@ sudo sh -c 'curl -L https://github.com/redhat-developer/odo/releases/download/v0
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary> :package: :penguin: Linux</summary>
|
||||
<summary> Linux</summary>
|
||||
|
||||
#### Binary installation:
|
||||
```sh
|
||||
@@ -60,84 +65,86 @@ sudo sh -c 'curl -L https://github.com/redhat-developer/odo/releases/download/v0
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary> :package: :checkered_flag: Windows</summary>
|
||||
<summary> Windows</summary>
|
||||
|
||||
#### In order to correctly use odo you must add it to your PATH environment variable
|
||||
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](https://github.com/redhat-developer/odo/releases).
|
||||
2. Extract the file
|
||||
2. Extract the file.
|
||||
3. Add the location of extracted binary to your PATH environment variable by following [this Wiki page](https://github.com/redhat-developer/odo/wiki/Setting-PATH-variable-on-Windows).
|
||||
|
||||
</details>
|
||||
|
||||
#### For a list of other methods such as installing the latest mastery binary, or specific OS installations, visit the [installation page](/docs/installation.md).
|
||||
For a list of other methods such as installing the latest binary or specific OS installations, visit the [installation page](/docs/installation.md).
|
||||
|
||||
## Purpose
|
||||
|
||||
OpenShift Do (odo) is a CLI tool for developers who are writing, building, and deploying applications on OpenShift. With odo, developers get an opinionated CLI tool that supports fast, iterative development which abstracts away Kubernetes and OpenShift concepts, thus allowing them to focus on what's most important to them: code.
|
||||
|
||||
Odo was created to improve the developer experience with OpenShift. Existing tools such as `oc` are more operations-focused and requires a deep-understanding of Kubernetes and OpenShift concepts. Odo is designed to be simple and concise so you may focus on coding rather than how to deploy your application. Since odo can build and deploy your code to your cluster immediately after you save you changes, you benefit from instant feedback and can thus validate your changes in real-time. Odo's syntax and design is centered around concepts already familiar to developers, such as: project, application and component.
|
||||
|
||||
## Demo
|
||||
## Demonstration
|
||||
The following demonstration provides an overview of OpenShift Do:
|
||||
|
||||
[](https://asciinema.org/a/225717)
|
||||
|
||||
## Deploying an Application using odo
|
||||
## Deploying an application using OpenShift Do
|
||||
|
||||
After you have odo installed, follow these steps to build, push, and deploy a Node.js application using odo. Examples for other supported languages and runtimes can be found [here](https://github.com/redhat-developer/odo/blob/master/docs/examples.md).
|
||||
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](https://github.com/redhat-developer/odo/blob/master/docs/examples.md).
|
||||
|
||||
1. Start a local OpenShift development cluster by running minishift.
|
||||
```sh
|
||||
|
||||
# Start a local OpenShift development cluster by running minishift
|
||||
$ minishift start
|
||||
```
|
||||
|
||||
# Log into the OpenShift cluster
|
||||
$ odo login -u developer -p developer
|
||||
2. Log into the OpenShift cluster.
|
||||
```sh
|
||||
$ odo login -u developer -p developer`
|
||||
```
|
||||
|
||||
# Create an application. An application in odo is an umbrella under which you add other components
|
||||
$ odo app create node-example-app
|
||||
3. Create an application. An application in OpenShift Do is an umbrella under which you add other components.
|
||||
```sh
|
||||
$ odo app create node-example-app`
|
||||
```
|
||||
|
||||
# Download the Node.js sample code
|
||||
$ git clone https://github.com/openshift/nodejs-ex && cd nodejs-ex
|
||||
4. Download the Node.js sample code and change directory to the location of the sample code.
|
||||
```sh
|
||||
$ git clone https://github.com/openshift/nodejs-ex
|
||||
$ cd nodejs-ex
|
||||
```
|
||||
|
||||
# From the directory where the sample code is located, add a component of type nodejs to your application
|
||||
5. Add a component of type `nodejs` to your application.
|
||||
```sh
|
||||
$ odo create nodejs
|
||||
|
||||
# Now let's deploy your application!
|
||||
```
|
||||
6. Deploy your application.
|
||||
```sh
|
||||
$ odo push
|
||||
|
||||
# Last, we'll create a way to access the application
|
||||
```
|
||||
7. Create a URL to access the application and visit it to test it.
|
||||
```sh
|
||||
$ odo url create
|
||||
|
||||
# Test it / visit the URL
|
||||
$ 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](https://learn.openshift.com/introduction/developing-with-odo/) or the [odo user guide](/docs/getting-started.md).
|
||||
For more in-depth information and advanced use-cases such as adding storage to a component or linking components, see the [interactive tutorial](https://learn.openshift.com/introduction/developing-with-odo/) or the [getting started guide](/docs/getting-started.md).
|
||||
|
||||
## Additional Documentation
|
||||
## Additional documentation
|
||||
|
||||
Additional documentation can be found below:
|
||||
|
||||
- [Detailed Installation Guide](https://github.com/redhat-developer/odo/blob/master/docs/installation.md)
|
||||
- [Odo User Guide](https://github.com/redhat-developer/odo/blob/master/docs/getting-started.md)
|
||||
- [Getting Started Guide](https://github.com/redhat-developer/odo/blob/master/docs/getting-started.md)
|
||||
- [Usage Examples for Other Languages and Runtimes](https://github.com/redhat-developer/odo/blob/master/docs/examples.md)
|
||||
- [Odo CLI Reference](https://github.com/redhat-developer/odo/blob/master/docs/cli-reference.md)
|
||||
- [Development](https://github.com/redhat-developer/odo/blob/master/docs/development.md)
|
||||
- [CLI Reference](https://github.com/redhat-developer/odo/blob/master/docs/cli-reference.md)
|
||||
- [Development Guide](https://github.com/redhat-developer/odo/blob/master/docs/development.md)
|
||||
|
||||
## Community, Discussion, Contribution and Support
|
||||
## Community, discussion, contribution, and support
|
||||
|
||||
**Chat:** We have a public channel [#odo on chat.openshift.io](https://chat.openshift.io/developers/channels/odo).
|
||||
|
||||
**Issues:** If you have an issue with odo, please [file it](https://github.com/redhat-developer/odo/issues).
|
||||
**Issues:** If you have an issue with OpenShift Do, please [file it](https://github.com/redhat-developer/odo/issues).
|
||||
|
||||
**Contributing:** Want to become a contributor and submit your own code? Have a look at our [development guide](https://github.com/redhat-developer/odo/blob/master/docs/development.md).
|
||||
|
||||
## Glossary
|
||||
|
||||
**Application:** Is, well, your application! It consists of multiple microservices or components, that work individually to build the entire application.
|
||||
**Application:** An application consists of multiple microservices or components that work individually to build the entire application.
|
||||
|
||||
**Component:** Can be thought of as a microservice. Multiple components will make up an application. A component will have different attributes like storage, etc.
|
||||
**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.
|
||||
|
||||
Multiple component types are currently supported, like nodejs, perl, php, python, ruby, etc.
|
||||
**Service:** A service will typically be a database or a "service" a component links / depends on. For example: MariaDB, Jenkins, MySQL. This comes from the OpenShift "Service Catalog" and must be enabled within your cluster.
|
||||
**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.
|
||||
|
||||
Reference in New Issue
Block a user