写在前面 最近,在研究如何使用Maven将SpringBoot项目打包成Docker镜像并发布到Harbor仓库,网上翻阅了很多博客和资料,发现大部分都是在复制粘贴别人的东西,没有经过实践的检验,根本解决不了问题,纯属扯淡.作为一个技术人,经过不断的研究和实践,终于实现了在Spring Tool Site中使用Maven将SpringBoot项目打包成Docker镜像,并将镜像文件上传到Harbor仓库. 注意:本文使用的SpringBoot开发环境是Spring Tool Site,IDEA开…
主要是看一下如何在linux及mac上安装docker,创建docker镜像,部署SpringBoot项目到docker,并借助于DaoCloud进行docker镜像下载加速等. 我用的电脑是mac,本身并不支持docker,需要安装Docker ToolBox才能使用Docker.由于大部分情况下线上服务器都是linux,所以这里先以linux下Docker的使用为例,后面再讲在mac上部署Docker.我购买了一个阿里云的云服务器CentOS7.2,以此为例,如果在购买时就在阿里云镜像市场选…
概述 将Springboot的web服务打包成Jar包后,自动化脚本将jar打包成镜像.上传镜像.并生成镜像的压缩文件: Dockerfile FROM 10.254.9.21/library/oraclejdk:0.0.1 ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone ADD epic-tako.jar epic-tako.jar…
jar包的术语背景: normal jar: 普通的jar,用于项目依赖引入,不能通过java -jar xx.jar执行,一般不包含其它依赖的jar包. fat jar: 也叫做uber jar,是一种可执行的jar(executable jar),既包含自己代码中的class ,也包含第三方依赖的jar. 不可执行,但包含第三方依赖的jar包,避免生成的jar与第三方引入后出现依赖版本冲突. POM文件中的内置属性(Maven预定义可以直接使用): ${basedir} 项目根目录 ${ve…
提前条件: 1.在Jenkins服务器上安装Git.JDK和Maven 2.准备另一台服务器并安装Tomcat 3.Gitlab服务器 4.Gitlab仓库中上传SpringBoot项目代码 第一步,Jenkins中配置JDK和Maven 1.配置JDK 2.配置Maven 第二步,在freestyle job中配置git和Maven 第三步,修改SpringBoot项目配置 1.项目入口类继承 SpringBootServletInitializer 并实现 configure方法 @Spri…
看标题好像很简单的样子,但是针对使用jar包发布SpringBoot项目就不一样了.当你使用tomcat发布项目的时候,上传文件存放会变得非常简单,因为你可以随意操作项目路径下的资源.但是当你使用SpringBoot的jar包发布项目的时候,你会发现,你不能像以前一样操作文件了.当你使用File file = new File()的时候根本不知道这个路径怎么办.而且总不能很小的项目也给它构建一个文件服务器吧.所以这次就来解决这样的问题 实现 因为我们无法操作jar包内容,所以我们只能将文件存放在…
前言: 遇见问题了,公司一台电脑,家里一台电脑,当有项目在进行的时候,又不想把电脑背来背去的,就像一个人玩单机,这个时候GIT就可以帮你解决这个问题.当GIT准备就绪的时候,新的问题来了git下载下载并没有相关的包,这个时候便需要将之前的项目转换成Maven项目.这样只需要下载里面的pom.xml,就可以自己下载相关的包. GIT的配置,与上传: 默认你已经在GitHub上面有自己的的账号密码,直接在Eclipse上面配置. 1.添加EGit工具. 这里面有一个问题,有的人想弄清楚EGit和JG…
1.首先必须确保java和maven是安装好的,并且环境变量配置正确 2.接着可以看一下我们项目中的pom.xml中的以下配置 packaging那里很关键,表示我们打包项目的类型,可以为jar 也可以为war包. 不过,需要注意的是,如果打包为jar包,那么该jar包中是没有静态资源的,如果想要使用静态资源还需要自己配置.为了 方便我们直接打包为war包. 3.然后就在DOS界面,进入我们项目的目录下 ,输入以下命令进行打包 出现了build success就说明打包成功了 现在去项目的tar…
1. 需要安装maven 的war插件支持 在pom.xml里面配置war插件       2. 运行命令: mvn clean package      3.部署到Tomcat下面发布,并访问!…
很早之前写过一篇jenkins集成docker的文章,使用的是CloudBees Docker Build and Publish plugin插件.这篇文章是直接使用shell脚本做的,主要是这次有一个需求是检测harbor仓库里面是否已经存在要构建的镜像,如果存在就放弃构建,如果不存在则构建镜像并上传到harbor仓库,我这里是通过请求harbor的api来检测的. 整个过程大致分为四个步骤,画了一个简单的图: 1.在jenkins上构建一个自由风格的软件项目. 2.源码管理使用git. 这…