**本篇主要针对jenkins + docker 项目构建配置 **
jenkins 的安装配置移步到:
docker 构建 springboot jar为镜像容器不使用jenkins请移步到:
一、在springboot项目配置
1、创建docker构建镜像脚本
- src/main 下创建 docker 文件夹
- 在创建Dockerfile文件
- 在把代码提交至svn/git
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD springboot_docker_demo.jar springboot_docker_demo.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/springboot_docker_demo.jar"]
FROM ,表示使用 Jdk8 环境 为基础镜像,如果镜像不是本地的会从 DockerHub 进行下载
VOLUME ,VOLUME 指向了一个/tmp的目录,由于 Spring Boot 使用内置的Tomcat容器,Tomcat 默认使用/tmp作为工作目录。这个命令的效果是:在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到容器中的/tmp目录
ADD ,拷贝文件并且重命名
ENTRYPOINT ,为了缩短 Tomcat 的启动时间,添加java.security.egd的系统属性指向/dev/urandom作为 ENTRYPOINT
2、pom.xml 添加打包命令
<!-- 自定义maven 打包后的名称-->
<finalName>springboot_docker_demo</finalName>
<!-- maven 打包成 Docker 镜像 -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<imageName>${docker.image.prefix}</imageName>
<dockerDirectory>src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
<!-- maven打包跳过测试 -->
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
二、jenkins 配置
1、拉取git/svn代码
2、maven 打包跳过测试
-Dmaven.test.skip=true
3、上传docker 打包镜像脚本
添加构建后操作
- 上传文件默认顶级目录为在jenkins工作空间,
- **表示在工作空间下找到Dockerfile文件
- 去除前缀看第一次输出值linux目录结构在自己去除把,目的是让jar,和脚本在同级目录
**\Dockerfile
docker images
docker ps -a
4、发送 jar
添加一个ssh文件发送 或 命令
springboot的maven打包后的 jar
和上面一个意思
5、docker命令构建项目
在添加一个ssh文件发送 或 命令
命令一栏
cd /
docker rm -f wsldy
docker rmi -f wsldy.jar:latest
cd /usr/local/work/jenkins
docker build -t wsldy.jar .
docker run --name wsldy -p 8888:8080 -t -d wsldy.jar
修正时间、启动命令添加 -v /etc/localtime:/etc/localtime
docker run -v /etc/localtime:/etc/localtime --name wsldy -p 8888:8080 -t -d wsldy.jar
6、构建启动命令详细说明
表示为根目录
cd /
删除正在运行的容器(上次构建的同项目)
docker rm -f wsldy
删除镜像(上次构建的同项目)
docker rmi -f wsldy.jar:latest
进入jar 和 Dockerfile 文件的存放目录
cd /usr/local/work/jenkins
构建docker镜像
docker build -t wsldy.jar .
后台启动镜像,不会打印启动日志
docker run --name wsldy -p 8888:8080 -t -d wsldy.jar
然后点击构建项目就ok了呢
喜欢就个赞呗!…