鉴于网上关于CrontrolTier的资料太少,最近因为在研究这个,于是决定把自己目前可以运行起来的例子共享给大家看看,当然还不是很完善,也希望大家可以共同探讨。

通过CrontrolTier官网,可以让我们运行起来一个很基础的发布实例,通过以下URLhttp://doc36.controltier.org/wiki/Service_Package_Deployment_Example

这个通过最简单的几条命令就可以实现让我们在server端运行期tomcat的服务,但是我你找这个例子希望可以实现发布到Client端,结果没随我所愿,通过:http://doc36.controltier.org/wiki/Deploying_Packages_to_Nodes

最后的GUI execution

来运行的时候,因为需要添加job,但是官网上并没有说要运行什么命令或者调用哪一个的脚本,结果我在这上面挂了半天不知道如何能顺利的发布到Client

还好,最后的时候发现CrontrolTier可以完全通过脚本发布,而不需要Gui,于是通过研究http://doc36.controltier.org/wiki/Automate_deployment_with_ctl-exec

我目前研究V1的脚本,因为感觉V1已经可以实现我的需求,其中setup.sh的脚本可以设置好nodepackages,通过simpleTomcat.sh实现发布的功能。但是问题又出现了,你会发现你运行这俩个脚本你根本没有办法完成发布到Client的动作。因为在ctl-exec命令运行到Client的时候会报错,无法找到ctl命令,然后退出了。很郁闷,然后我通过在脚本最开始的时候添加env,来看到底是发生了什么,可以发现在Server的时候env会有CrontrolTier的环境变量,但是到了Client的时候就没有关于CrontrolTier的环境变量了。于是在脚本中重新设置了一遍CrontrolTier的环境变量,于是,终于可以跑成功了。不得不说,到目前为止,我才体验了通过CrontrolTier成功发布到Client。因为setup的动作其实我们第一次的操作,如果以后的话,我们不需要每次都添加Node,于是注释掉添加节点的内容,然后运行发布的动作,完全正常。但是这样通过登录服务器的方式还是不能满足我们之前的需求,我们是希望我们可以不通过登录服务器的方式,只在web界面完成发布动作,于是联系之前在web的经验,发现其实通过simpleTomcat.sh的脚本,我们只需要在workbench里面上传需要发布的war就可以,然后通过ctl centerJobs调用这个脚本就可以完全实现无登陆发布!

以上是我在用CrontrolTier过程中遇到的主要问题。以供参考,谢谢!