springboot+jenkins+gitlab自动化部署

1.Docker环境下的安装

  • 下载Jenkins的Docker镜像:
docker pull jenkins/jenkins:lts
  • 在Docker容器中运行Jenkins:
docker run -p 8090:8080 -p 50000:5000 --name jenkins \
-u root \
--restart=always \
-v /mydata/jenkins_home:/var/jenkins_home \
-d jenkins/jenkins:lts

1.1Jenkins的配置

  • 运行成功后访问该地址登录Jenkins,第一次登录需要输入管理员密码:http://192.168.1.219:8090/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fPGm4C0k-1662714127852)(Jenkins%E9%83%A8%E7%BD%B2.assets/jenkins_use_23.2b2db839.png)]

  • 使用管理员密码进行登录,可以使用以下命令从容器启动日志中获取管理密码:
docker logs jenkins
  • 从日志中获取管理员密码:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HLnMRPNX-1662714127853)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220803091755418.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SKCNCHHt-1662714127853)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220803092221927.png)]

  • 进入插件安装界面,联网等待插件安装:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EBfSqYmu-1662714127854)(Jenkins%E9%83%A8%E7%BD%B2.assets/jenkins_use_26.cc3cbc65.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QaCpYgmI-1662714127854)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220803092441690.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ziiAsVUM-1662714127854)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220803092424284.png)]

  • 点击系统管理->插件管理,进行一些自定义的插件安装:
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GGV8Itpz-1662714127855)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220803092730159.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TpdjtALt-1662714127855)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220803092756626.png)]

  • 确保以下插件被正确安装:

    • 根据角色管理权限的插件:Role-based Authorization Strategy
    • 远程使用ssh的插件:Publish over SSH
    • 安装插件: SSH

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QV8f8kvR-1662714127856)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220803092902440.png)]

  • 新增maven的安装配置:(重点:maven最好装3.8.1以下的版本,不然可能会出现打包依赖出现问题。)
  • 在这里插入图片描述
  • 在系统管理->系统配置中添加全局ssh的配置,这样Jenkins使用ssh就可以执行远程的linux脚本了:

- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gIFpe89h-1662714127857)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220804101803885.png)]
如果还没设置服务器的账号,在添加那里添加服务器的账号密码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pvImpCL6-1662714127858)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220804101909778.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nyo7WebL-1662714127858)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220804102005278.png)]

角色权限管理

  • 在系统管理->全局安全配置中启用基于角色的权限管理:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eg1rSQBi-1662714127859)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220803151018929.png)]

1.构建项目 demo-hjt

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wj6FSX9l-1662714127859)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220803151343139.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WDqkVNmt-1662714127859)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220803151907334.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-85RN2YMO-1662714127860)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220803151928704.png)]

2.然后在源码管理中添加我们的git仓库地址:http://192.168.1.219:8081/root/hjt_demo.git

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QVS5jnI2-1662714127860)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220803151759472.png)]

  • 选择我们的maven版本,然后设置maven命令和指定pom文件位置:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QUKjUzaG-1662714127860)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220805145813992.png)]

  • 之后添加一个执行远程shell脚本的构建,用于在我们的镜像打包完成后执行启动Docker容器的.sh脚本:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VCz3ZyNV-1662714127860)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220804102143084.png)]

填下脚本的路径

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-91VlsYf0-1662714127861)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220805163342086.png)]

在cd /mydata/sh

touch  mall-tiny-jenkins.sh

脚本为

#!/usr/bin/env bash
app_name='mall-tiny-jenkins'
docker stop ${app_name}
echo '----stop container----'
docker rm ${app_name}
echo '----rm container----'
docker run -p 8088:8088 --name ${app_name} \
--link mysql:db \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/${app_name}/logs:/var/logs \
-d mall-tiny/${app_name}:1.0-SNAPSHOT
echo '----start container----'

退出保存

设置权限

chmod  777  mall-tiny-jenkins.sh

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r8fUK78p-1662714127861)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220805171705189.png)]

访问地址:http://192.168.1.219:8088/swagger-ui.html#/PmsBrandController

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gSc8ur2Z-1662714127862)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220805171739962.png)]

1.2本地项目demo-hjt-code部署到jenkins

构建demo-auth

1.2.1建项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hauFrwg7-1662714127862)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220808164514042.png)]

1.2.2配置gitlab仓库地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y03WYr2e-1662714127862)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220808112932259.png)]

1.2.3构建maven

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fjF81LpA-1662714127863)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220808113037319.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BoMZoNfo-1662714127863)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220809143258846.png)]

1.2.4在jenkins服务器上创建对应的sh脚本

上传对应的sh

执行命令

chmod +x ./demo-*

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TZH515p2-1662714127863)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220808114114286.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ntnRvKs4-1662714127863)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220808114205749.png)]

点保存

构建就成功了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-epRT2ee5-1662714127864)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220809153103426.png)]

1.2.5gitlab自动推上去部署

Gitlab安装请看我这篇博客

1.2.5.1安装 插件 Gitlab

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6SUlJbXi-1662714127864)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220809145358510.png)]

1.2.5.2 点进去你要自动推代码的项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UJwqap7j-1662714127864)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220809145605532.png)]

1.2.5.3点高级

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qjgTsLc3-1662714127865)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220809145658175.png)]

1.2.5.4生成token

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G33NWT9r-1662714127866)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220809145745567.png)]

1.2.5.5设置gitlab网络

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LtuIjlZk-1662714127868)(Jenkins%E9%83%A8%E7%BD%B2.assets/1ca92076e9b24d66a96027c7c78f5c88.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yzFlLgFo-1662714127868)(Jenkins%E9%83%A8%E7%BD%B2.assets/ac37586f3a79481ca613841e8ce294a0.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ppLga6rS-1662714127869)(Jenkins%E9%83%A8%E7%BD%B2.assets/4354ad5060dc4e25b5b66e5e2ac5b7d8.png)]

点保存即可。

1.2.5.6在gitlab打开对应的项目,在设置中点 Webhooks

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XRAApPAh-1662714127869)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220809145850983.png)]

1.2.5.7 填写对应的网址和令牌

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VRdUEAkA-1662714127869)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220809145952484.png)]

分别对应刚刚jenkins中的url和token

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PH6H6jxk-1662714127870)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220809150024479.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uoOuPlp0-1662714127870)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220809150038857.png)]

1.2.5.8最后点生成

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JuvxtRBl-1662714127870)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220809150134009.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1kVSvazy-1662714127871)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220809150816509.png)]

1.6.0结果 推代码就自动构建了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UM9cFTJ1-1662714127871)(Jenkins%E9%83%A8%E7%BD%B2.assets/image-20220809151231663.png)]

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有点东西且很多

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值