Files
kubevela/CONTRIBUTING.md
T

107 lines
2.1 KiB
Markdown

# CONTRIBUTING
This doc explains how to set up a development environment, so you can get started
contributing to `kubevela` or build a PoC (Proof of Concept).
## Prerequisites
1. Golang version 1.13+
2. Kubernetes version v1.16+ with `~/.kube/config` configured.
3. ginkgo 1.14.0+ (just for [E2E test](https://github.com/oam-dev/kubevela/blob/master/DEVELOPMENT.md#e2e-test))
4. golangci-lint 1.31.0+, it will install automatically if you run `make`, you can [install it manually](https://golangci-lint.run/usage/install/#local-installation) if the installation is too slow.
## Build
* Clone this project
```shell script
git clone git@github.com:oam-dev/kubevela.git
```
* Build Vela CLI
```shell script
make
```
* Configure vela to PATH
after build, make will create `vela` binary to `bin/`, Set this path to PATH.
```shell script
export PATH=$PATH:/your/path/to/project/kubevela/bin
```
* Install Vela Core
```shell script
vela install
```
## Use
* Create environment
```shell script
vela env init myenv --namespace myenv --email my@email.com --domain kubevela.io
```
* Create Component
For example, use the following command to create and run an application.
```shell script
$ vela comp deploy mycomp -t webservice --image crccheck/hello-world --port 8000
Creating AppConfig appcomp
SUCCEED
```
* Add Trait
```shell script
$ vela route mycomp
Adding route for app abc
Succeeded!
```
* Check Status
```
$ vela comp status abc
Showing status of Component abc deployed in Environment t2
Component Status:
Name: abc PodSpecWorkload(type) UNKNOWN APIVersion standard.oam.dev/v1alpha1 Kind PodSpecWorkload workload is unknown for HealthScope
Traits
└─Trait/route
Last Deployment:
Created at: 2020-09-18 18:47:09 +0800 CST
Updated at: 2020-09-18T18:47:16+08:00
```
* Delete App
```shell script
$ vela app ls
abc
$ vela app delete abc
Deleting Application "abc"
delete apps succeed abc from t2
```
## Tests
### Unit test
```shell script
make test
```
### E2E test
```
make e2e-test
```
## Make a pull request
Remember to write unit-test and e2e test before making a pull request.