Cloud Toolkit: 一键部署神器
Cloud Toolkit: 一键部署神器
Cloud Toolkit 简介
Cloud Toolkit由Alibaba中间件团队开发的一款IDE插件。只能说真的非常好用。所以想写一篇博客来简单介绍一下使用Cloud Toolkit部署到服务器的过程。只需要简单的前期部署就能一键使用了。
以前我们部署项目的流程基本是:
Cloud Toolkit 可以帮我们做上图中编写代码后的所有事情,使用Cloud Toolkit部署服务的流程是:
Cloud Toolkit支持的IDE
有IntelliJ 系列、Eclipse、Visual Studio Code等IDE。图片截得有点糙…
官方地址:https://www.aliyun.com/product/cloudtoolkit
官方介绍:
Cloud Toolkit 是免费的本地 IDE 插件,帮助开发者更高效地开发、测试、诊断并部署应用。通过插件,可以将本地应用一键部署到任意服务器,甚至云端(ECS、EDAS、SAE、ACK、ACR 和 小程序云 等);并且还内置了 Arthas 诊断、Dubbo工具、Terminal 终端、文件上传、函数计算 和 MySQL 执行器等工具。
先行条件
1.有任意一台服务器,无论阿里、百度、华为、腾讯…我这边演示用的是百度 Centos 7.4,也同样支持Windows。
2.使用以上支持的一款IDE,如果是IntelliJ,版本要求在2018.1以上,不然会搜不到 Cloud Toolkit 插件,我这边演示使用的是IntelliJ IDEA 2018.3
3.演示使用的是SpringBoot项目,高效快速易部署。
好了,让我们开始吧。
插件下载,安装
进入Plugins,在File->Setting->Plugins
搜索 alibaba ,会出现一些相关的插件,找到 Alibaba Cloud Toolkit 点击 Install 安装它。
注:搜索的过程可能会比较慢,耐心等待一会…
安装完成后,重启IDE生效。点击 ReStart IDE -> Restart
重启完成后,我们的 Cloud Toolkit 就安装完成了,是不是很简单,很方便呢 ^_^ !
配置 Cloud Toolkit 操作服务器
安装完成后,IDEA的侧边栏会出现 Alibaba Cloud Explorer 的一个工具栏。这里主要是可以直接操作服务器,比如上传文件,执行命令行等。 如果是阿里的 ECS 或者RDS就直接点对应的选项,填Access对应的信息就能连接上自己的服务器了,并且还会有账号下所有的服务器列表。
非阿里的服务器就点击Host,在控制台出现一些配置相关的控制台。
接下来,我们进行一些服务器的相关参数配置。
选择 Host 选项卡,点击右上角的 Add Host 进行配置服务信息。
敲黑板,重点来了!!!
在 Host List 文本框内输入服务器地址,也可以是多个服务器地址,用换行分隔每个服务器地址。
端口如果没有改动就默认使用22,无需修改。
Profile Name 为你的连接创建一个名字,怎么开心怎么填。
连接类型,有两种,一种是密码登陆,一种是私钥连接,我这边使用的是密码登陆。
填入用户名和密码。
点击测试连接:Test Connection
配置完成后,在列表中会出现相应的地址,我们就可以直接在IDE内把文件上传到服务器了,还可以命令,打开服务器终端等操作,不需要再打开一个终端连接服务器了,很方便有没有。 ^_^ !
配置 Cloud Toolkit 一键部署项目
为了快速高效的演示,我这边使用SpringBoot来进行部署,注意以下两点:
1.导入spring-boot-starter-web模块,方便调用API查看数据
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2.固定Jar的包名字,我这边取名:springboot-cloudkit-example
在pom.xml中配置
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<!-- 固定Jar包名字 -->
<finalName>springboot-cloudkit-example</finalName>
</build>
3.确保一个端口没有被占用,一会使用这个端口。我这边演示使用8081端口,SpringBoot默认端口是8080,可以在application.properties文件中配置
# server.port=你想部署的端口
server.port=8081
注:SpringBoot的创建过程我这边就省略了,如果对SpringBoot创建或是使用有不了解的童鞋可以给我评论留言哟 ~
让我们开始吧~
1.编写代码,以便重构查看修改后效果
我这边直接在启动类添加一个 GET API 返回一段话。
package com.springboot.cloudtoolkit.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@GetMapping("/getData")
public String getData() {
return "this is getData";
}
}
2.右键你的项目,找到 Alibaba Cloud
鼠标移上去,会出现 部署选项卡
我们这边点击 Deploy to Host
3.最最最重要的一个环节来了,配置部署信息
-
Name 随便填,只是一个配置发布名称,使用默认的就行,无需修改
-
选中你要发布到哪台服务器,需要在 Alibaba Cloud Explorer 中配置了这里才会出现
-
Target Directory 你要把这个Jar包上传到哪个目录,要填正确
我这边上传的目录是:/data/server/project
注意两点:
1.需要存在这个目录,不会自动创建,
2.配置的用户要有写入权限 -
After deploy 部署后 需要执行的文件 这里需要配置一个脚本用来重启项目。
sh /data/server/project/restart-springboot.sh
解释一下这条命令
sh: linux下执行.sh文件的方法
/data/server/project/restart-springboot.sh: 是sh文件存放路径,即在 /data/server/project/ 这个目录下的restart-springboot.sh文件
这里的配置就是项目构建上传后把 /data/server/project/restart-springboot.sh 执行了一次 -
但 /data/server/project/restart-springboot.sh 里面应该写一些什么内容呢?
我这边根据 Alibaba Cloud Toolkit 官方配置,内容为:source /etc/profile killall java nohup java -jar /data/server/project/springboot-cloudkit-example.jar > nohup.log 2>&1 &
第3行代码 java -jar 后面修改成对应的jar包名称
大概配置如下 -
配置完成后,跑起来吧!
出现这个界面就是部署完成了,只有第一次部署才配置参数信息噢~
调用一下Api,成功了~
更多Cloud Toolkit 使用细节等待大家去挖掘…
最后再补充一下如果需要查看部署后的运行日志信息,可以点击上图中的:open terminal 填入对应的查看日志的命令就好了
我使用的是tail -f /data/server/project/nohup.out -n 200
我这边修改一下代码:
@GetMapping("/getData")
public String getData() {
return "data:" + System.currentTimeMillis();
}
再次部署,直接点击 Run :
再次调用Api查看结果,已经发生了变化
一键部署成功。很方便有没有~
欢迎给我留言~ ^_^!