通常情况下自己会直接用kvm,因为比openstack省机器,当然也不会排斥CloudStack和opennebula,都很好用的。

下面说说自己来编译一版的CloudStack,环境是CentOS 7:

首先安装开发工具包

yum install maven java-1.8.0-openjdk mkisofs ws-commons-util genisoimage gcc  

接下来我们需要调用setnextversion.sh生成新的版本号:

usage: ./tools/build/setnextversion.sh -v version [-b branch] [-s source dir] [-h]  
  -v sets the version
  -b sets the branch (defaults to 'master')
  -s sets the source directory
  -h

我们基于4.8的branch生成一个分支版本0.16

./tools/build/setnextversion.sh -v 4.8.0.16 -b 4.8 -s /data/git/cs1/cloudstack/

结果如下:

found 4.8.0 setting version numbers  
[master 27fa04a] Updating pom.xml version numbers for release 4.8.0.16
126 files changed, 130 insertions(+), 130 deletions(-)  
committed as 858805957e2c7e0a0fbeb170a7f1681a73b4fb7a  

用git log可以看出来改动:

开始编译:

mvn clean install -P systemvm  

这会花很长时间:

最终会编译好:

编译成基于centos7的rpm包:

cd ./packaging  
./package.sh -d centos7

看看生成没有:

直接安装即可,安装CloudStack就不是本文的范畴了。

comments powered by Disqus