实现jenkins结合docker和maven在windows环境下一键部署spring boot程序到远程linux服务器的步骤如下:
一、准备工作
1、环境配置 本地:Windows 10 本地:Jenkins + Publish Over SSH插件 本地:Maven 远程:Linux 远程:Docker
2、基本流程 准备步骤:利用Dockerfile构建镜像。 基本思路:
- 第一步:使用
mvn clean package -DskipTests命令打包Spring Boot程序为jar包。 - 第二步:使用Windows命令将生成的jar包复制到Jenkins项目工作目录。
- 第三步:通过Publish Over SSH插件将jar包发送到远程Linux服务器的
/home/zibo/docker/video/app目录。 - 第四步:使用Publish Over SSH插件执行
docker restart video-app命令重启video-app容器。 - 注意:首次启动容器时,需要先启动容器,参考下方相关命令。
3、相关命令
### 镜像方式启动 # 构建镜像 docker build -t video-app-image . # 删除镜像 docker rmi video-app-image # 启动容器 docker run -itd -p 8081:8080 -v /home/zibo/docker/video/app:/app --name video-app video-app-image # 重启容器 docker restart video-app # 删除容器 docker rm video-app # 查看实时日志 docker logs -f video-app # 进入容器内部 docker exec -it video-app /bin/bash # 离开容器 exit
4、Dockerfile文件
# 该镜像需要依赖的基础镜像 FROM openjdk:17-jdk # 创建挂载点 VOLUME /app # 定义工作目录为/app,命令在此目录下执行 WORKDIR /app # 指定docker容器启动时运行jar包,并将端口设置为8080 ENTRYPOINT ["java", "-jar", "-Dserver.port=8080", "app.jar"] # 指定端口 8080 EXPOSE 8080 # 指定维护者的名字为zibo LABEL maintainer="zibo"
5、配置远程服务器、安装和使用Publish Over SSH插件 Jenkins发送文件到远程服务器:使用Publish Over SSH插件。
二、Jenkins项目配置
1、创建Freestyle project项目

2、构建步骤
第一步:打包
D: cd D:\MyFile\GitHub\perfect-video mvn clean package -DskipTests

第二步:复制文件
xcopy /y D:\MyFile\GitHub\perfect-video\target\app.jar C:\ProgramData\Jenkins\.jenkins\workspace\perfect-video

第三步:发送文件,并重启容器











