首先下载ControlTier 3.6的Zip安装包,网址http://sourceforge.net/projects/controltier/files/Installer/3.6.0/ControlTier-3.6.0.zip/download
ControlTier安装分2种,Server端安装和client端安装。Server端是ControlTier服务器所在机器。Client是需要执行自动化部署任务的机器。
1.1 设置ControlTier的根目录环境变量CTIER_ROOT,以及创建根目录下pkgs文件夹。
$ export CTIER_ROOT=~/ctier
$ mkdir -p $CTIER_ROOT/pkgs
1.2 将安装包放入$CTIER_ROOT/pkgs后然后解压。
$ cd $CTIER_ROOT/pkgs
$ unzip ControlTier-3.6.0.zip
1.3设置JAVA_HOME环境变量。(如果已有,可忽略)
$ export JAVA_HOME=/opt/j2sdk1.5.0_15
1.4执行安装脚本
$ cd $CTIER_ROOT/pkgs/ControlTier-3.6.0
$ sh install.sh
1.5安装结束后。修改.bashrc。使用户登录后ControlTier环境变量立即生效执行。
$ vi ~/.bashrc
将
if [ -f ~/.ctierrc ]; then
. ~/.ctierrc
else
echo ~/.ctierrc not found 1>&2
fi
放入~/.bashrc文件末尾。(如果没有设置JAVA_HOME,也可将JAVA_HOME置于此)。
然后立即执行,使环境变量生效。
$ . ~/.bashrc
1.6修改ssh超时,设为0。表示不设置ssh超时时间。
$ vi $CTIER_ROOT/ctl/etc/framework.properties
找到framework.ssh.timeout,设置值改为0。
1.7 运行ControlTier服务器。
$ jetty.sh start
1.8 检验安装
$ ctl --help
1.9 修改服务器允许的每个进程最大打开文件数目。
编辑/etc/security/limits.conf 文件,追加以下2行。
* soft nofile 65535
* hard nofile 65535
解决的问题:linux默认允许每个用户每个进程打开1024个文件(使用ulimit –a查看当前用户允许打开的文件数量)。随着在ControlTier中包以及服务的数量的增大,每次浏览都可能会同时打开超过默认的数量的文件(使用lsof -p 12 | wc -l 查看当前打开的文件数量,12表示当前java的进程id,使用ps -ef |grep java 查看java进程id),造成工作台页面异常出错。
设置环境变量,解压与Server安装1.1, 1.2, 1.3相同。
2.1 修改/etc/hosts文件
$ vi /etc/hosts
增加ControlTier Server的host。例如,server的hostname叫hc-62, ip为192.168.20.62。增加192.168.20.62 hc-62到hosts文件。
2.2 Client执行安装脚本
$ cd $CTIER_ROOT/pkgs/ControlTier-3.6.0
$ sh install.sh --client -Dserver.hostname=<server host> -Dclient.hostname=<hostname> -Dclient.node.name=<name>
2.3 设置环境变量,于Server安装1.5相同。
2.4检验安装
$ ctl --help
由于ControlTier是Server端通过ssh调用Client的脚本执行部署任务。SSH不能使用密码,因此需要配置public key。ControlTier默认使用DSA。
在ControlTier的Server端执行
$ ssh-keygen -t dsa
当有提示时,全部回车。密码为空。产生~/.ssh/id_dsa.pub文件。
在ControlTier的Client端
$ ssh-keygen -t dsa
当有提示时,全部回车。密码为空。
将ControlTier Server端产生的~/.ssh/id_dsa.pub文件复制到Client端的~/.ssh/authorized_keys文件。
设置authorized_keys权限
$ chmod 600 authorized_keys
设置.ssh目录权限
$ chmod 700 .ssh