permalink: 1.10.0/docs/build/compile-by-docker/ version: 1.10.0

下载Docker镜像

docker pull apachepegasus/build-env:{{ page.version }}-centos7
docker pull apachepegasus/build-env:{{ page.version }}-ubuntu1604

编译

请先参考下载文档获取源码到某目录(/your/local/apache-pegasus-source)下。

由于历史原因,此版本需要额外下载第三方库源码包:

cd /your/local/apache-pegasus-source/rdsn/thirdparty

wget https://pegasus-thirdparties.oss-cn-beijing.aliyuncs.com/1.10.0-thirdparties-src.zip
unzip 1.10.0-thirdparties-src.zip

随后运行以下命令:

docker run -v /your/local/apache-pegasus-source:/root/pegasus \
           apachepegasus/build-env:{{ page.version }}-centos7 \
           /bin/bash -c "./run.sh build -c"

编译的结果会被放在项目根目录的DSN_ROOT/文件夹下,其中包含bin、include、lib目录。

编译打包

打包server端程序包,用于服务部署:

docker run -v /your/local/apache-pegasus-source:/root/pegasus \
           apachepegasus/build-env:{{ page.version }}-centos7 \
           /bin/bash -c "./run.sh pack_server"

打包client端库,用于C/C++端客户端开发:

docker run -v /your/local/apache-pegasus-source:/root/pegasus \
           apachepegasus/build-env:{{ page.version }}-centos7 \
           /bin/bash -c "./run.sh pack_client"

打包tools工具集,里面包含了各种工具(shell、bench):

docker run -v /your/local/apache-pegasus-source:/root/pegasus \
           apachepegasus/build-env:{{ page.version }}-centos7 \
           /bin/bash -c "./run.sh pack_tools"

编译成功后,推荐先体验onebox集群