源码编译
从github获取Pegasus源代码,并递归获取其依赖的rDSN:
- git clone https://github.com/xiaomi/pegasus.git --recursive
- cd pegasus
如果要编译发布的稳定版本,请checkout至相应的tag(建议用最新的release版本),譬如:
- git checkout -b v1.11.2 v1.11.2
- git submodule update
运行build命令进行编译,该命令使用CMake来进行构建:
- ./run.sh build
build命令支持以下参数:
- —compiler:指定C和C++编译器,通过逗号分隔的,默认为"gcc,g++"。
- -t|—type:指定编译类型是debug还是release,默认为release。
- -j|—jobs:指定编译的并发度,默认为8。
- -b|—boost_dir:指定boost安装路径,如果不指定则使用系统自带的boost。
- -w|—warning_all:打开所有编译警告,默认不打开。
- -v|—verbose:输出详细的编译信息,默认不输出。
- -c|—clear:在编译前先清理环境(不清理thirdparty),默认不清理。
- -cc|—harf-clear:在编译前先清理环境(不清理rdsn和thirdparty),默认不清理。
- —thirdparty:在编译前清理所有环境(包括thirdparty),默认不清理。编译后输出会放在当前目录的DSN_ROOT/文件夹下,里面包含bin、include、lib目录。
可以用pack_server命令打包server端程序包,用于部署cluser:
- ./run.sh pack_server
可以用pack_client命令打包client端库,用于C/C++端客户端开发:
- ./run.sh pack_client
可以用pack_tools命令打包tools包,里面包含了各种工具(shell、bench):
- ./run.sh pack_tools
编译成功后,推荐先体验onebox集群。