当前位置: 首页 > news >正文

手把手教你部署Jenkins教程,小白也能学会(多图预警)!

 背景

公司的前端、后端构建及部署工作都是人工去做,随着业务扩大,项目迭代速度变快,人员增多,各种问题都暴露出来,将通过一个简单案例分享一下基于Jenkins的前后端自动化工作流搭建的过程,搭建完这套工作流,我们只需要在本地发起一个git提交,剩下的单打包构建,代码部署,邮件提醒等功能全部自动化完成,让持续集成、持续交付、持续部署变得简单易操作,真正解决人工构建部署的诸多问题。

Jenkins是什么?

Jenkins 是一款业界流行的开源持续集成工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。

War包安装

官网下载Jenkins War包
命令启动,java -jar jenkins.war --httpPort=8080
可以用-server -Xms1024m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m限制Jenkins占用内存
3. 浏览器打开http://127.0.0.1:8080/

4. 找到初始化密码
在这里插入图片描述

5. 选择默认插件

在这里插入图片描述

6. 等待下载完成后
在这里插入图片描述

7. 设置登陆密码

下载插件
Manage Jenkins->Manage Plugins->高级(最下面)

增加 下载速度 替换默认Url

http://mirror.esuni.jp/jenkins/updates/update-center.json

Manage Jenkins->Manage Plugins->可选插件

安装以下插件

1、Publish Over SSH 用于连接远程服务器
2、Deploy to container 插件用于把打包的应用发布到远程服务器
3、Maven Integration plugin
4、Pipeline Maven Integration Plugin
5、Gitlab Hook Plugin(git提交的时候自动编译)
6、GitLab Plugin(git提交的时候自动编译)
7、GitLab Authentication Plugin (git提交的时候自动编译)
8、WebHook (git提交的时候自动编译)

9、Locale 下载完成后去全局配置里面 Locale->设置zh-CN
在这里插入图片描述
1、Dingding[钉钉] Plugin 钉钉Jenkins通知器
2、Multiple SCMs(配置多个git)
3、Git Parameter Plug-In (参数化配置)

全局配置

Manage Jenkins->Global Tool Configuration
在这里插入图片描述

Publish over SSH (配置远程推送的服务器可以多个)
在这里插入图片描述

新建maven 项目

点击新建Item
在这里插入图片描述

在这里插入图片描述
备注:如果有父子关系的程序,父工程先install到仓库里面。
或者下载插件:Multiple SCMs(配置多个git)
在这里插入图片描述强制指定自定义maven 仓库
job–>configure–>Build–>Goals and options:
clean package -Dmaven.repo.local=D:\dev\maven3.1.1\m2repository

如果要提交代码后自动化构建
需要配置:(需要权限)

在这里插入图片描述

在这里插入图片描述
配置成功后
在这里插入图片描述

点击test可以测试自动部署

Jenkins参数化配置(选择分支部署)
1、下载插件Git Parameter

2、配置参数属性
在这里插入图片描述

在这里插入图片描述
3、最终效果
在这里插入图片描述

Jenkins配置钉钉通知

1、配置钉钉机器人

在这里插入图片描述

2、安装钉钉通知插件
在这里插入图片描述

在这里插入图片描述
3、配置项目构建后通知
在这里插入图片描述

在这里插入图片描述
4、配置Jenkins发送消息给钉钉
在这里插入图片描述

5、最终结果
在这里插入图片描述

Jenkins权限管理

安装插件Role-based Authorization Strategy
可以访问:Jenkins权限管理参考

Jenkins服务器跨服务免密执行shell脚本

场景:很多情况下Jenkins都是单独服务器部署,发送已经打包好的服务包给目标服务器启动。不可避免有在定制化操作:

例如:发送目标服务器前,先备份当前服务器运行的服务包,就需要定制化的shell脚本去执行这个操作。每次输入密码肯定是不靠谱的。
所以需要Jenkins服务器免密登陆到目标服务器的配置。

附录
docker部署不建议使用,推荐使用war启动Jenkins下载镜像

docker pull jenkins/jenkins:lts

安装镜像 

docker run --name jenkins --user=root -p 8080:8080 -p 50000:50000 -v /Users/wei/Documents/jenkins_home:/var/jenkins_home -d jenkins/jenkins:lts

 卸载容器

docker rm -f $(docker ps -a |  grep "jenkins"  | awk '{print $1}')

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

在这里插入图片描述

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!     

http://www.lryc.cn/news/138906.html

相关文章:

  • 一种IDEA疑难杂症的解决办法
  • TikTok小店玩法有哪些?一起来玩转TiKTok!
  • Mongodb 集合插入文档自动生成ObjectId
  • C# .aspx网页获取RFID读卡器HTTP协议提交的访问文件Request获得卡号、机号,Response回应驱动读卡器显示响声
  • Kali Linux 2023.3 发布
  • 如何用Python实现从pdf文件精准抓取数据生成数据库!
  • 科技资讯|苹果Apple Watch新专利,可根据服装、表带更换表盘颜色
  • 猜数游戏-Rust版
  • 从零起步:学习数据结构的完整路径
  • 如何在浏览器中启用 WebGL 以使用 HTML5 3D 查看器
  • 【计算机协议】第一章——HTTP协议详解
  • 【FAQ】安防监控视频汇聚平台EasyCVR接入GB国标设备,无法显示通道信息的排查方法
  • Matlab 生成一定信噪比的信号
  • [国产MCU]-W801开发实例-定时器
  • 基于 CentOS 7 构建 LVS-DR 群集,配置nginx负载均衡。
  • 大数据——spark一文全知道
  • Linux命令200例:telnet用于远程登录的网络协议(常用)
  • 使用 eBPF 在云中实现网络可观测性
  • linux安装部署gitlab全教程,包含配置中文
  • 软考高级系统架构设计师系列论文八十:论企业信息化战略规划技术
  • 使用ChatGPT构建一个AIML聊天机器人是什么体验
  • [JavaWeb]【九】web后端开发-SpringBootWeb案例(菜单)
  • vue 主组件把日期选择器给子组件props传obj值, 与子组件监听 watch对象或对象属性
  • WebDAV之π-Disk派盘 + 一刻日记
  • springboot aop实现接口防重复操作
  • ubuntu18.04复现yolo v8环境配置之CUDA与pytorch版本问题以及多CUDA版本安装及切换
  • Yaml配置文件读取方法
  • Python3 lambda 函数入门示例 Python lambda 函数
  • 【计算机网络】HTTPs 传输流程
  • 【Linux】国产深度系统装机必备(开发、日常使用)