window11下Jenkins+Docker 实现一键自动化部署项目!步骤齐全,少走坑路(原创原创)

发布时间 2023-03-24 16:31:22作者: 小陈子博客

1.安装jdk

这个就不写了,自行百度,我这边装了两个版本的,jenkins要求11或17,所以装的jdk11,环境发布用的是jdk8

2.安装docker

官方地址:https://dockerdocs.cn/docker-for-windows/install/index.html

参考地址:https://blog.csdn.net/weixin_43841924/article/details/125600106?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167964484416800217244672%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=167964484416800217244672&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-125600106-null-null.blog_rank_default&utm_term=docker&spm=1018.2226.3001.4450

下载地址:http://docker.p2hp.com/

看不明白的直接看第二条就行,docker下载原链接不行,用我第三个链接,docker中文网的链接

3.安装jenkins

https://blog.csdn.net/qq_57756904/article/details/125932047

唯一的不同是我jenkins 服务登录凭证选用的要使用本地

4.jenkins参数配置

进入【首页】–【系统管理】–【插件管理】–【可选插件】

 

 

 

 

 

 

 

 

 

 

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

 

  •  

     

    安装Maven Integration
  • 安装Publish Over SSH(如果不需要远程推送,不用安装)
  • 如果使用Gitee 码云,安装插件Gitee(Git自带不用安装)

2. 配置Maven

进入【首页】–【系统管理】–【全局配置】,拉到最下面maven–maven安装

 

四、创建任务

1. 新建任务

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

 

 

 

2. 源码管理

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

 

 

 

 

3.构建触发器

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

 

 

此处命令只是install,看是否能生成jar包

clean install -Dmaven.test.skip=true

 

 

 

4. 保存

点击【保存】按钮即可

五、测试

该功能测试是否能正常打包

1. 构建

点击构建按钮

图片

2.查看日志

点击正在构建的任务,或者点击任务名称,进入详情页面,查看控制台输出,看是否能成功打成jar包。

该处日志第一次可能下载依赖jar包失败,再次点击构建即可成功。

 

 

 

 

 

3. 查看项目位置

  1. cd /var/jenkins_home/workspace
  2. ll 即可查看是否存在

六、运行项目

因为我们项目和jenkins在同一台服务器,所以我们用shell脚本运行项目,原理既是通过dockerfile 打包镜像,然后docker运行即可。

1. Dockerfile

在springboot项目根目录新建一个名为Dockerfile的文件,注意没有后缀名,其内容如下:(大致就是使用jdk8,把jar包添加到docker然后运行prd配置文件。详细可以查看其他教程)

FROM jdk:8
VOLUME /tmp
ADD target/zx-order-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8888
ENTRYPOINT ["Bash","-DBash.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.profiles.active=prd"]

2. 修改jenkins任务配置

图片

配置如下:

  •  

     

     

     

    -t:指定新镜像名
  • .:表示Dockfile在当前路径
cd /var/jenkins_home/workspace/zx-order-api
docker stop zx-order || true
docker rm zx-order || true
docker rmi zx-order || true
docker build -t zx-order .
docker run -d -p 8888:8888 --name zx-order zx-order:latest

备注:

  1. 我上图用了docker logs -f 是为了方便看日志,真实不要用,因为会一直等待日志,构建任务会失败
  2. || true 是如果命令执行失败也会继续实行,为了防止第一次没有该镜像报错

3. 保存

点击保存即可

4. 构建

查看jenkins控制台输出,输出如下,证明成功!

 

 

 

5. 验证

  1. docker ps 查看是否有自己的容器
  2. docker logs 自己的容器名 查看日志是否正确
  3. 浏览器访问项目试一试