之前分享了一些使用Jenkins做自动化部署的小技巧。最近发现一款阿里出品的IDEA插件CloudToolkit,不仅支持直接打包部署应用到远程服务器,还可以作为终端工具使用。试用了这个插件,很不错,推荐给大家!安装了这个插件,IDEA的一站式开发又近了一步!SpringBoot实战电商项目商城(50k+star)地址:https://github.com/macrozheng/mallCloudToolkitCloudToolkit简介CloudToolkit是阿里出品的IDEA插件,通过它我们可以更方便的实现自动化部署,其内置终端工具和文件上传功能,连服务器管理都非常方便!这个IDEA插件不仅功能强大,而且完全免费!CloudToolkit的安装非常简单,在IDEA的插件市场搜索CloudToolkit并安装即可。下面我们来体验一下CloudToolkit的自动部署功能。以将SpringBoot应用打包部署到Docker环境为例,看看是否好用。自动部署插件安装完成后,打开左侧面板,右键Host图标,添加服务器的连接信息。在实现自动部署之前,需要先配置连接信息;一般来说,如果我们要将本地的SpringBoot应用部署到Docker环境中,我们需要经过以下步骤,我们只需要配置进程使用CloudToolkit,它会自动帮我们完成这些操作;首先,准备打包应用镜像所需的Dockerfile文件;#镜像需要依赖的基础镜像FROMjava:8#改变当前目录将下面的jar包复制到docker容器的/目录下ADDmall-tiny-deploy-1.0-SNAPSHOT.jar/mall-tiny-deploy-1.0-SNAPSHOT.jar#声明服务运行在8088端口EXPOSE8088#指定启动的docker容器运行jar包ENTRYPOINT["java","-jar","/mall-tiny-deploy-1.0-SNAPSHOT.jar"]#指定维护者的名字MAINTAINERmacrozheng可以自动打包应用镜像,准备好后创建并运行容器的脚本run.sh,这两个脚本的具体使用可以参考使用技巧Jenkins用于自动化部署;#!/usr/bin/envbash#定义应用组名group_name='mall-tiny'#定义应用名app_name='mall-tiny-deploy'#定义应用版本app_version='1.0-SNAPSHOT'#定义应用环境profile_active='prod'echo'----copyjar----'dockerstop${app_name}echo'----stopcontainer----'dockerrm${app_name}echo'----rmcontainer----'dockerrmi${group_name}/${app_name}:${app_version}echo'----rmimage----'#打包编译docker镜像dockerbuild-t${group_name}/${app_name}:${app_version}.echo'----buildimage----'dockerrun-p8088:8088--name${app_name}\--linkmysql:db\-e'spring.profiles.active'=${profile_active}\-eTZ="Asia/Shanghai"\-v/etc/localtime:/etc/localtime\-v/mydata/app/${app_name}/logs:/var/logs\-d${group_name}/${app_name}:${app_version}echo'----startcontainer----'上传这两个文件到linux服务器,给run.sh加上可执行权限;右键单击要部署的项目,然后单击DeploytoHost;然后选择将Maven打包好的Jar包上传到指定目录,上传完成后执行run.sh脚本;然后编辑Maven构建的target,只打包mall-tiny-deploy模块;然后修改高级设置,配置查看容器日志的命令;最后运行配置,运行完成后可以直接查看应用运行日志;打开应用的Swagger页面查看,发现可以正常访问,访问地址:http://192.168.3.105:8088/swa...常用功能当然,CloudToolkit的功能远不止这些比那更多的。它有一个内置的终端工具,可以在IDEA中管理Linux服务器。使用它就足够了。您可以直接通过底部面板打开它,然后单击终端按钮;体验a有了这个终端工具,提示还是挺全面的,那么现在需要什么Xshell呢?可以通过上传功能上传文件,不再需要WinSCP!综上,体验了一个阿里出品的CloudToolkit。配置完成后,基本可以实现一键部署到远程服务器。说它是Jenkins的IDEA版也不为过!它内置的终端工具也非常好用,强烈推荐大家试试看!项目源码地址https://github.com/macrozheng...
