Merge pull request #5 from jielinxu/branch-0.5.0

Update README

Former-commit-id: 9e63b5f95a266c84f7e8404d0222477237b239d6
This commit is contained in:
Jin Hai 2019-10-16 00:33:43 +08:00 committed by GitHub
commit 0de4e2bffe
2 changed files with 60 additions and 84 deletions

View File

@ -4,9 +4,7 @@ First of all, thanks for taking the time to contribute to Milvus! It's people li
The following are a set of guidelines for contributing to Milvus. Following these guidelines helps contributing to this project easy and transparent. These are mostly guideline, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
As for everything else in the project, the contributions to Milvus are governed by our [Code of Conduct](CODE OF CONDUCT.md).
TOC
As for everything else in the project, the contributions to Milvus are governed by our [Code of Conduct](CODE_OF_CONDUCT.md).
## Contribution Checklist
@ -28,10 +26,29 @@ Contributions to Milvus fall into the following categories.
### Contributing code
If you have improvements to Milvus, send us your pull requests! For those just getting started, GitHub has a [how-to](https://help.github.com/en/articles/about-pull-requests).
If you have improvements to Milvus, send us your pull requests! For those just getting started, see [GitHub workflow](#github-workflow).
The Milvus team members will review your pull requests, and once it is accepted, it will be given a `ready to merge` label. This means we are working on submitting your pull request to the internal repository. After the change has been submitted internally, your pull request will be merged automatically on GitHub.
### GitHub workflow
Please create a new branch from an up-to-date master on your fork.
1. Fork the repository on GitHub.
2. Clone your fork to your local machine with `git clone git@github.com:<yourname>/milvus-io/milvus.git`.
3. Create a branch with `git checkout -b my-topic-branch`.
4. Make your changes, commit, then push to to GitHub with `git push --set-upstream origin my-topic-branch`.
5. Visit GitHub and make your pull request.
If you have an existing local repository, please update it before you start, to minimize the chance of merge conflicts.
```shell
git remote add upstream git@github.com:milvus-io/milvus.git
git checkout master
git pull upstream master
git checkout -b my-topic-branch
```
### General guidelines
Before sending your pull requests for review, make sure your changes are consistent with the guidelines and follow the Milvus coding style.

119
README.md
View File

@ -1,5 +1,8 @@
![Milvuslogo](https://milvus.io/docs/assets/milvus_logo.png)
- [Slack Community](https://join.slack.com/t/milvusio/shared_invite/enQtNzY1OTQ0NDI3NjMzLWNmYmM1NmNjOTQ5MGI5NDhhYmRhMGU5M2NhNzhhMDMzY2MzNDdlYjM5ODQ5MmE3ODFlYzU3YjJkNmVlNDQ2ZTk)
- [Blog](https://www.milvus.io/blog/)
- [Twitter](https://twitter.com/milvus_io)
# Welcome to Milvus
@ -32,48 +35,29 @@ Keep up-to-date with newest releases and latest updates by reading Milvus [relea
## Get started
### Install and start Milvus server
#### Use Docker
### Install using docker
Use Docker to install Milvus is a breeze. See the [Milvus install guide](https://milvus.io/docs/en/userguide/install_milvus/) for details.
#### Use source code
### Build from source
##### Compilation
#### Software requirements
###### Step 1 Install necessary tools
- Ubuntu 18.04 or higher
- CMake 3.14 or higher
- CUDA 10.0 or higher
- NVIDIA driver 418 or higher
#### Compilation
##### Step 1 Install dependencies
```shell
# Install tools
Centos7 :
$ yum install gfortran qt4 flex bison
$ yum install mysql-devel mysql
Ubuntu 16.04 or 18.04:
$ sudo apt-get install gfortran qt4-qmake flex bison
$ sudo apt-get install libmysqlclient-dev mysql-client
$ cd [Milvus sourcecode path]/core
./ubuntu_build_deps.sh
```
Verify the existence of `libmysqlclient_r.so`:
```shell
# Verify existence
$ locate libmysqlclient_r.so
```
If not, you need to create a symbolic link:
```shell
# Locate libmysqlclient.so
$ sudo updatedb
$ locate libmysqlclient.so
# Create symbolic link
$ sudo ln -s /path/to/libmysqlclient.so /path/to/libmysqlclient_r.so
```
###### Step 2 Build
##### Step 2 Build
```shell
$ cd [Milvus sourcecode path]/core
@ -84,43 +68,13 @@ $ ./build.sh -t Release
When the build is completed, all the stuff that you need in order to run Milvus will be installed under `[Milvus root path]/core/milvus`.
If you encounter the following error message,
`protocol https not supported or disabled in libcurl`
#### Code format and linting
please reinstall CMake with curl:
1. Install curl development files:
```shell
CentOS 7:
$ yum install curl-devel
Ubuntu 16.04 or 18.04:
$ sudo apt-get install libcurl4-openssl-dev
```
2. Install [CMake 3.14](https://github.com/Kitware/CMake/releases/download/v3.14.6/cmake-3.14.6.tar.gz):
```shell
$ ./bootstrap --system-curl
$ make
$ sudo make install
```
##### code format and linting
Install clang-format and clang-tidy
Install clang-format
```shell
CentOS 7:
$ yum install clang
Ubuntu 16.04:
$ sudo apt-get install clang-tidy
$ sudo su
$ wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
$ apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-6.0 main"
$ apt-get update
$ apt-get install clang-format-6.0
Ubuntu 18.04:
$ sudo apt-get install clang-tidy clang-format
$ sudo apt-get install clang-format
$ rm cmake_build/CMakeCache.txt
```
```
Check code style
```shell
$ ./build.sh -l
@ -131,34 +85,39 @@ $ cd cmake_build
$ make clang-format
```
##### Run unit test
#### Run unit test
```shell
$ ./build.sh -u
```
##### Run code coverage
#### Run code coverage
Install lcov
```shell
CentOS 7:
$ yum install lcov
Ubuntu 16.04 or 18.04:
$ sudo apt-get install lcov
```
```
```shell
$ ./build.sh -u -c
```
Run mysql docker
Run MySQL docker
```shell
docker pull mysql:latest
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
```
Run code coverage
```shell
$ ./coverage.sh -u root -p 123456 -t 127.0.0.1
```
##### Launch Milvus server
Or start your own MySQL server, and then run code coverage
```shell
$ ./coverage.sh -u ${MYSQL_USERNAME} -p ${MYSQL_PASSWORD} -t ${MYSQL_SERVER_IP}
```
#### Launch Milvus server
```shell
$ cd [Milvus root path]/core/milvus
@ -198,7 +157,7 @@ Install Milvus Python SDK.
$ pip install pymilvus==0.2.0
```
Create a new file `example.py`, and add [Python example code](https://github.com/milvus-io/pymilvus/blob/branch-0.3.1/examples/AdvancedExample.py) to it.
Create a new file `example.py`, and add [Python example code](https://github.com/milvus-io/pymilvus/blob/master/examples/AdvancedExample.py) to it.
Run the example code.
@ -217,9 +176,9 @@ $ python3 example.py
## Contribution guidelines
Contributions are welcomed and greatly appreciated. If you want to contribute to Milvus, please read our [contribution guidelines](CONTRIBUTING.md). This project adheres to the [code of conduct](CODE OF CONDUCT.md) of Milvus. By participating, you are expected to uphold this code.
Contributions are welcomed and greatly appreciated. If you want to contribute to Milvus, please read our [contribution guidelines](CONTRIBUTING.md). This project adheres to the [code of conduct](CODE_OF_CONDUCT.md) of Milvus. By participating, you are expected to uphold this code.
We use [GitHub issues](https://github.com/milvus-io/milvus/issues) to track issues and bugs. For general questions and public discussions, please join our community.
We use [GitHub issues](https://github.com/milvus-io/milvus/issues/new) to track issues and bugs. For general questions and public discussions, please join our community.
## Join the Milvus community
@ -233,7 +192,7 @@ Please read our [roadmap](https://milvus.io/docs/en/roadmap/) to learn about upc
[Milvus official website](https://www.milvus.io)
[Milvus docs](https://www.milvus.io/docs/en/QuickStart/)
[Milvus docs](https://www.milvus.io/docs/en/userguide/install_milvus/)
[Milvus blog](https://www.milvus.io/blog/)
@ -244,4 +203,4 @@ Please read our [roadmap](https://milvus.io/docs/en/roadmap/) to learn about upc
## License
[Apache 2.0 license](milvus-io/milvus/LICENSE.md)
[Apache 2.0 license](milvus-io/milvus/LICENSE.md)