window11下Jenkins+Docker 实现一键自动化部署项目(原创原创)
1.安装jdk
这个就不写了,自行百度,我这边装了两个版本的,jenkins要求11或17,所以装的jdk11,环境发布用的是jdk8
2.安装docker
官方地址:https://dockerdocs.cn/docker-for-windows/install/index.html
看不明白的直接看第二条就行,docker下载原链接不行,用我第三个链接,docker中文网的链接

3.安装jenkins
https://blog.csdn.net/qq_57756904/article/details/125932047
唯一的不同是我jenkins 服务登录凭证选用的要使用本地,jenkins 版本Version 2.396,所以依赖的jdk是11
4.jenkins参数配置
进入【首页】–【系统管理】–【插件管理】–【可选插件】



搜索以下需要安装的插件,点击安装即可。

- 安装
Maven Integration - 安装
Publish Over SSH(如果不需要远程推送,不用安装) - 如果使用Gitee 码云,安装插件Gitee(Git自带不用安装)
配置Maven
进入【首页】–【系统管理】–【全局配置】,拉到最下面maven–maven安装

5.创建任务
1. 新建任务
点击【新建任务】,输入任务名称,点击构建一个自由风格的软件项目

2. 源码管理
点击【源码管理】–【Git】,输入仓库地址,添加凭证,选择好凭证即可。



3.构建触发器
点击【构建触发器】–【构建】–【增加构建步骤】–【调用顶层Maven目标】–【填写配置】–【保存】

此处命令只是install,看是否能生成jar包
clean install -Dmaven.test.skip=true

4. 保存
点击【保存】按钮即可
6.测试
该功能测试是否能正常打包
1. 构建
点击构建按钮

2.查看日志
点击正在构建的任务,或者点击任务名称,进入详情页面,查看控制台输出,看是否能成功打成jar包。
该处日志第一次可能下载依赖jar包失败,再次点击构建即可成功。


3. 查看项目位置

7.运行项目
因为我们项目和jenkins在同一台服务器,所以我们用shell脚本运行项目,原理既是通过dockerfile 打包镜像,然后docker运行即可。
1. Dockerfile
在springboot项目根目录新建一个名为Dockerfile的文件,注意没有后缀名,其内容如下:(大致就是使用jdk8,把jar包添加到docker然后运行prd配置文件。详细可以查看其他教程)

# 该镜像需要依赖的基础镜像 FROM java:8 # 将当前目录下的jar包复制到docker容器的/目录下 ADD ./target/mall-tiny-docker-file-0.0.1-SNAPSHOT.jar /mall-tiny-docker-file.jar # 运行过程中创建一个mall-tiny-docker-file.jar文件 RUN bash -c 'touch /mall-tiny-docker-file.jar' # 声明服务运行在8080端口 EXPOSE 8910 # 指定docker容器启动时运行jar包 ENTRYPOINT ["java", "-jar","/mall-tiny-docker-file.jar"] # 指定维护者的名字 MAINTAINER chenjie
2. 修改jenkins任务配置

配置如下:


-t:指定新镜像名.:表示Dockfile在当前路径
cd C:\\ProgramData\\Jenkins\\.jenkins\\workspace\\mall-tiny-docker-file docker stop mall-tiny-docker-file || true docker rm mall-tiny-docker-file || true docker rmi mall-tiny-docker-file || true docker build -t mall-tiny-docker-file . docker run -d -p 8910:8910 --name mall-tiny-docker-file mall-tiny-docker-file:latest
备注:
- 我上图用了
docker logs -f是为了方便看日志,真实不要用,因为会一直等待日志,构建任务会失败 - 加
|| true是如果命令执行失败也会继续实行,为了防止第一次没有该镜像报错
3. 保存
点击保存即可
4. 构建
查看jenkins控制台输出,输出如下,证明成功!

5. 验证
docker ps查看是否有自己的容器docker logs自己的容器名 查看日志是否正确- 浏览器访问项目试一试

http://127.0.0.1:8910/brand/test

6.遇到的bug问题
找不到sh

解决方案:用git的sh
参考地址:https://blog.csdn.net/qq_40259641/article/details/106190598

目录不对的问题

解决方案:双斜杠

docker命令找不到的问题

解决方案:因为没有配置全局的参数配置
参考地址1:https://blog.csdn.net/m0_45806184/article/details/128079970
参考地址2:https://www.jianshu.com/p/4f9bb405ef9e


找不到dockerfile

解决方案:dockerfile放到项目的根目录下

dockerfile文件出错,找不到包

解决方案:配置路径问题,增加./target

远程连接ssh使用在这里
我现在不想在本地启动服务,现在购买了一台云服务器,想要部署怎么办





解决方案:https://blog.csdn.net/qq_42108331/article/details/132446589
图片


本文来自博客园,作者:小陈子博客,转载请注明原文链接:https://www.cnblogs.com/cj8357475/p/17252388.html

浙公网安备 33010602011771号