之前分享过一些使用Jenkins进行自动化部署的技巧 ,最近发现一款阿里出品的IDEA插件CloudToolkit,不仅支持直接打包应用部署到远程服务器上,而且还能当终端工具使用。试用了一把这个插件,非常不错,推荐给大家!装上这个插件,IDEA一站式开发又近了一步!

SpringBoot实战电商项目mall(50k star)地址:github.com/macrozheng/…

CloudToolkit简介

CloudToolkit是阿里出品的一款IDEA插件,通过它我们可以更方便地实现自动化部署,其内置的终端工具和文件上传功能,即使用来管理服务器也非常方便!这款IDEA插件不仅功能强大,而且完全免费!

安装

CloudToolkit的安装是非常简单的,直接在IDEA的插件市场中搜索Cloud Toolkit然后进行安装即可。

使用

接下来我们就体验下CloudToolkit的自动化部署功能,以SpringBoot应用打包部署到Docker环境为例,看看它是不是够好用。

自动化部署

  • 插件安装完成后,打开左侧面板,右键Host图标我们就可以添加服务器的连接信息了,实现自动化部署之前需要先配置好连接信息;

  • 一般情况下我们如果想部署本地SpringBoot应用到Docker环境需要经过如下步骤,使用CloudToolkit我们只要配置好流程即可,这些操作它都会帮我们自动完成;

  • 首先准备好打包应用镜像需要的Dockerfile文件;
# 该镜像需要依赖的基础镜像
FROM java:8
# 将当前目录下的jar包复制到docker容器的/目录下
ADD mall-tiny-deploy-1.0-SNAPSHOT.jar /mall-tiny-deploy-1.0-SNAPSHOT.jar
# 声明服务运行在8088端口
EXPOSE 8088
# 指定docker容器启动时运行jar包
ENTRYPOINT ["java", "-jar","/mall-tiny-deploy-1.0-SNAPSHOT.jar"]
# 指定维护者的名字
MAINTAINER macrozheng
  • 再准备好可以自动打包应用镜像、创建并运行容器的脚本run.sh,这两个脚本的具体使用可以参考使用Jenkins进行自动化部署的技巧 ;
#!/usr/bin/env bash
# 定义应用组名
group_name='mall-tiny'
# 定义应用名称
app_name='mall-tiny-deploy'
# 定义应用版本
app_version='1.0-SNAPSHOT'
# 定义应用环境
profile_active='prod'
echo '----copy jar----'
docker stop ${app_name}
echo '----stop container----'
docker rm ${app_name}
echo '----rm container----'
docker rmi ${group_name}/${app_name}:${app_version}
echo '----rm image----'
# 打包编译docker镜像
docker build -t ${group_name}/${app_name}:${app_version} .
echo '----build image----'
docker run -p 8088:8088 --name ${app_name} \
--link mysql:db \
-e 'spring.profiles.active'=${profile_active} \
-e TZ="Asia/Shanghai" \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/${app_name}/logs:/var/logs \
-d ${group_name}/${app_name}:${app_version}
echo '----start container----'
  • 将这两个文件上传到Linux服务器上,给run.sh添加可执行权限;

  • 右键需要部署的项目,点击Deploy to Host

  • 然后选择把Maven打包的Jar包上传到指定目录,上传完成后执行run.sh脚本;

  • 接下来编辑下Maven构建的目标,只打包mall-tiny-deploy模块即可;

  • 然后修改高级设置,配置下查看容器日志的命令;

  • 最后运行该配置,运行完成后即可直接查看应用运行日志了;

  • 打开应用的Swagger页面查看下,发现已经可以正常访问了,访问地址:http://192.168.3.105:8088/swagger-ui/

常用功能

  • 当然CloudToolkit的功能远不止于此,它内置了终端工具,在IDEA中管理Linux服务器,用它就够了,直接通过底部面板,点击终端按钮即可打开;

  • 体验了一把这个终端工具,提示还挺全的,这下还要啥Xshell?

  • 通过上传功能可以上传文件,WinSCP也用不着了!

总结

体验了一把阿里出品的CloudToolkit,做好配置以后,基本可以实现一键部署应用到远程服务器,说它是IDEA版的Jenkins也不为过!其内置的终端工具也是非常好用的,强烈推荐大家尝试一波!

项目源码地址 github.com/macrozheng/…

以上就是阿里SpringBoot应用自动化部署实现IDEA版Jenkins的详细内容,更多关于SpringBoot自动化部署的资料请关注Devmax其它相关文章!

阿里SpringBoot应用自动化部署实现IDEA版Jenkins的更多相关文章

  1. 适用于Xcode,IntelliJ Idea和Phonegap(又名Cordova)的gitignore模板

    有没有人有一个很好的预先推出的gitignore文件用于使用Xcode和PhoneGap的iPhone开发?

  2. 无法在iOS设备上首次安装企业内部分发应用程序

    我有一个可以通过S3Bucket使用Enterprisedistribution下载的应用程序,它第一次失败并显示加载但是当我通过将设备连接到计算机使用配置实用程序手动安装证书时,相同的网站链接开始工作.我正在使用Jenkins来创建构建.证书没有自动安装,我按照苹果标准使用清单.我的清单文件内容如下:解决方法我通过检查设备日志来解决问题,它说未找到嵌入式配置.我刚刚打开了使用Jenkins创建的

  3. ios – 使用Jenkins和altool自动上传IPA失败,并找不到“Transporter not found”错误

    我正在使用Jenkins和altool验证iOS包并自动将其上传到我的iTunes帐户.虽然验证工作正常,我没有收到任何错误,但上传不起作用.‘/Applications/Xcode.app/Contents/Applications/ApplicationLoader.app/Contents/Frameworks/ITunesSoftwareService.framework/Versions

  4. ios – Jenkins无法从项目文件夹运行xcodebuild

    我是Jenkins的新手,但是我尽力用GoogleFu回答这个问题无济于事.我最初是通过手动安装Jenkins遇到了这个问题,但最近使用了OSX安装程序并导致了同样的错误.我猜这与Unix/Linux/OSX权限有关,而不是Jenkins/Xcode,但没有足够的专业知识来确定.编辑项目目录权限设置为775.我也尝试将所有权更改为Jenkins运行的用户.这是我尝试将xcodebuild作为守护程序用户运行时的输出:解决方法确保运行Jenkins的用户具有正确的权限.转到http://[jenkins_s

  5. xcode – 为什么Jenkins在我的Mac上运行不会连接到本地的git repo?

    我正在尝试使用Jenkins实现自动化构建,用于我的iOS项目.我添加了Git插件,但是一旦我尝试将git的URL放在项目的git配置中,它会在下面的屏幕截图中显示错误.这里Jenkins不能从repo克隆到其工作空间.解决方法在大多数情况下,gitbarerepo有扩展名.git我的意思是(其他)/test1看起来不正确,我认为应该是(其他)/test1.git在我的mac上有同样的错误.

  6. xcode – 可以用两个不同的iOS sdks运行jenkins

    我们正在使用Jenkins在MacMini服务器上运行我们的xcodebuilds.在最近几周,我们开始开发iOS7应用程序,并在MacMini上安装了Xcode5DP版本.当安装新的Xcode版本并配置Xcode的xcodebuild,xcode-选择这个新版本也用于构建我们的旧iOS6应用程序–这打破了它们的UI.有没有办法告诉Jenkins哪个xcodebuild应该用来构建一个项目?

  7. 第四章 :构建你的应用程序原型

    在应用程序开发的环境下,原型可以是一个app的早期样品,这个样品没有什么功能只有一些用户界面甚至只有草图。原型可以允许你在不构建应用程序的情况下测试你的idea。下图展示原型的好处将应用程序的草图画在纸上现在你有一个idea,怎么构建原型呢?使用POP构建你的应用程序prototype你可以把你的app话在纸上。如前所述,应用程序原型有很多形式。

  8. android-studio – IDEA中Gradle自动完成的位置在哪里?

    解决方法对于Groovy插件,它可能是Cucumber.我知道Gradle使用Groovy的一些技术和语法,所以我尝试在第一次尝试时安装一些Groovy插件并取得成功.安装此插件的步骤:>在MacOS上:首选项…

  9. android-studio – 在Android Studio中放置gitIgnore文件的位置?

    我将此文件复制到AndroidStudio中的gitIgnore文件中,但是当我在gitHub上推送该项目时,我的gitnigore文件如下所示:所以,我复制到AndroidStudio的文件不在这里.问题是什么?解决方法通常在创建新项目时会为您生成gitignore文件.这是正确的.gitignore文件.这是你必须把它.

  10. Tools-> Android->启用ADB服务的目的是什么?

    为了将IDEA和DDMS连接到同一个仿真器,我不得不禁用此功能.它有什么作用?这个行动有不利之处吗?

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部