项目添加dockerfile
- 在需要打包的工程的根目录添加Dockerfile文件,文件内容:
- 在pom上配置,添加打包插件,buildArgs中的JAR_FILE与Dockerfile文件中的${JAR_FILE}对应
<plugin> <groupId>com.spotify</groupId> <artifactId>dockerfile-maven-plugin</artifactId> <version>1.3.6</version> <configuration> <repository>${project.artifactId}</repository> <buildArgs> <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE> </buildArgs> </configuration> </plugin>
将项目存放到git上
- 在gitee上新建一个仓库
- 本地项目根目录新建一个.gitignore文件,添加忽略的文件
- 根项目节点创建本地代码仓库,并将工程文件
- 将文件添加到本地仓库中,并commit。
- 添加远程仓库地址,输入账号密码(之前存过就不提示了)并push到远程仓库。
在jenkins上新建一个任务
-
配置全局变量
系统管理-》全局工具配置,配置好JDK、Git、Maven等 -
输入任务名称,选择构建一个自由风格的软件项目(Freestyle project)
任务名称为jar包名称(要一摸一样,且不能有大写字母) -
配置JDK
-
源码管理
- 选择"GIT"
- 填写Repository URL
- Credentials 认证信息
- Branches to build 打包分支
-
设置Build Steps
- 选择maven版本
- 设置目标
- 多子工程并且引用了其他工程,先打包应用到的项目,否者跳过
- 使用dockerfile打包,-f 的路径是指定要打包的工程的pom.xml
- 多子工程并且引用了其他工程,先打包应用到的项目,否者跳过
-
docker部署。
构建失败原因
- 镜像存在大写导致构建失败修改任务名称未小写且
- docker镜像名称要求与jar包的名字一致,否者在启动时,找不到对应的镜像
- dockerfile 第一行,否则报如下错误
- unmappable character for encoding ASCII可能会导致应用服务乱码,在对应项目pom的properties 添加
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>