Alibaba Cloud Toolkit的使用

今天翻朋友圈看到一篇文章介绍阿里巴巴的官方IDE插件----Cloud Toolkit,看了一下,感觉很牛逼,花了两个小时亲测,果然很好用。

官方的介绍为:  Cloud Toolkit 是本地 IDE 插件,帮助开发者更高效地开发、测试、诊断并部署应用。通过插件,可以将本地应用一键部署到任意服务器,甚至云端(ECS、EDAS、Kubernetes 和 小程序云 等);并且还内置了 Arthas 诊断、Dubbo工具、Terminal 终端、文件上传和 MySQL 执行器等工具。

以下为测试过程。

        开发工具: idea (2018.1.1以上版本)

        JDK: 1.8以上版本

        部署方式: Maven构建(暂时不支持Gradle)

1、基于Spring Boot快速构建一个Web,项目结构如下:

2、安装Alibaba Cloud Toolkit插件

        这一步参考官方文档: https://help.aliyun.com/document_detail/98762.html

3、安装好之后开始配置服务器相关参数

红色框里面的菜单对应的功能如下:

我测试的就是部署到任意服务器,即Deploy to Host,如下,先配置服务器,

点击右上角的Add Host,弹出如下框,填上服务器相关参数,保存即可.

4、配置项目所在服务器的路径以及一些需要执行的脚本.

如下是项目相关文件,demo-0.0.1.jar是jar包,restart.sh是重启服务的脚本,start.sh是启动服务的脚本, shutdown.sh是停止服务的脚本,nohup.out是日志输出文件

如上操作,部署项目到服务器上,会弹出下框,进行相关的配置:

下面配置jar包以及执行脚本的路径需为绝对路径

以上配置的Command为:

sh /opt/test-cloud-toolkit/restart.sh demo-0.0.1.jar

解释为: 项目部署后执行restart.sh脚本,这个脚本的作用是重启服务。后面的demo-0.0.1.jar是一个参数传入脚本文件中。

restart.sh脚本内容如下:

#!/bin/sh
#服务名
if [ ! -n "$1" ] ;then
	echo "please input a process name!"
	exit
else
	process_name=$1
	echo "process name is $process_name!"
	PID=$(ps -ef | grep $process_name | grep -v "$0" | grep -v "grep" | awk '{print $2}')
	if [[ -z $PID ]]; then
		nohup java -jar ./$process_name &
		if [ $? -eq 0 ];then
			echo "start $process_name success"
			tail -f nohup.out
			exit
		else
			echo "start $process_name fail"
		fi
	else
		echo "$process_name process id:$PID"
	fi
	kill $PID
	if [ $? -eq 0 ];then
		echo "kill $process_name success"
		sleep 5
		nohup java -jar ./$process_name &
		if [ $? -eq 0 ];then
			echo "start $process_name success"
		else
			echo "start $process_name fail"
		fi
	else
		echo "kill $process_name fail"
	fi
fi
tail -f nohup.out

以上配置好以后,点击如下按钮即可启动部署

执行结果:

这样即部署成功!浏览器请求一下:

可见部署成功!

我们可以修改一下名称,避免同一项目需要多处部署以免混淆:

修改完后如下:

然后再次部署时只需要点击绿色三角按钮即可!

将sayHello方法的输出修改一下,再次测试:

访问浏览器:

到此结束!

自动部署之前项目使用过jenkins,这次简单测试后,感觉Cloud Toolkit相比jenkins有如下优点:

1、配置简单,不用单独安装jenkins(占磁盘空间)

2、修改代码后不需要上传到git就可以实现本地打包部署,而jenkins必须是代码上传到git仓库后才可以被打包到

发布了34 篇原创文章 · 获赞 43 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/pavel101/article/details/100995413