jenkins
jenkins
jenkins
课程大纲
1.什么是Jenkins?
2.为什么要用Jenkins?
3.Jenkins的安装配置?
4.jenkins的插件管理?
1)在安装插件过程中如何进行加速?
2)通过Web页面上传.hpi文件进行插件安装。 yum localinstall
3)导入之前服务器已安装的插件 (离线安装)。
5.Jenkins的目录结构。
6.Jenkins FreeStyle基本使用?
内容大纲
1.Jenkins如何集成gitlab
1.Jenkins为什么要集成Gitlab
2.Jenkins如何集成Gitlab
3.Jenkins与Gitlab集成思路
4.Jenkins与Gitlab集成实践
2.Jenkins实现项目自动化发布
3.Jenkins实现项目tag方式发布
4.Jenkins实现项目tag发布与回退
5.Jenkins解决项目能重复发布问题
jenkins介绍
jenkins就是一个调度平台
jenkins安装
安装方式有好多种 (支持各大平台 linux windows macos )
1.yum方式 或 rpm包
2.直接部署war包
3.使用docker安装
yum install java -y #依赖 (上传rpm包)
rpm -ivh jenkins-2.176.1-1.1.noarch.rpm
jenkins目录结构
[root@jenkins ~]# rpm -ql jenkins
/etc/init.d/jenkins 启停脚本
/etc/logrotate.d/jenkins 日志切割配置文件
/etc/sysconfig/jenkins 主配置文件
/usr/lib/jenkins
/usr/lib/jenkins/jenkins.war jenkins的主程序包
/usr/sbin/rcjenkins
/var/cache/jenkins jenkins缓存目录
/var/lib/jenkins jenkins的家目录
/var/log/jenkins jenkins的日志目录
启动jenkins
systemctl enable jenkins
systemctl start jenkins
jenkins的访问url 10.0.0.120 jenkins.oldxu.com
jenkins插件
4.jenkins的插件管理?
1)在安装插件过程中如何进行加速?
2)通过Web页面上传.hpi文件进行插件安装。 yum localinstall
3)导入之前服务器已安装的插件 (离线安装)。
默认的插件下载地址: https://updates.jenkins.io/update-center.json
国内提供的插件下载地址: https://mirror.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
systemctl stop jenkins
tar xf jenkins_plugins_new.tar.gz
\cp -rp plugins/* /var/lib/jenkins/plugins/
systemctl start jenkins
jenkins自由软件风格
jenkins不要随便更新:
1.因为jenkins更新了 插件没有更新,会导致插件失效
22.插件不要随便升级, 插件升级了 jenkins没有升级 无法支持该插件
jenkins集成gitlab
将gitlab上项目代码拉取到jenkins本地
0.先创建好gitlab相关的仓库 (分配好对应的权限)
1.开发 开发项目 --》编写源代码
2.提交源代码至gitlab仓库
3.jenkins拉取gitlab仓库中指定的代码 (git相关的插件)
4.jenkins点击构建,检查代码是否被拉取至本地
jenkins自动部署html
1.准备好环境 nginx + 2web节点 建议Ansible实现| 公司都是现成的环境
2.手动实现一次代码的上线 (提炼步骤)
1.git 克隆代码
2.给代码进行打包 web web_2019xx.tar.gz
3.使用scp推送到web集群
4.登录web集群机器,创建代码存放的目录,然后解压
5.执行软连接操作
6.需要重载服务
tar czf /opt/web_monitor_$(date +%F).tar.gz ./*
for host in {7..8};do scp /opt/web_monitor_2019-11-13.tar.gz root@172.16.1.${host}:/opt ; done #建议做免密
cd /opt
mkdir web_monitor_2019-11-13
tar xf web_monitor_2019-11-13.tar.gz -C web_monitor_2019-11-13/
rm -rf /code/web/
ln -s /opt/web_monitor_2019-11-13 /code/web
systemctl restart nginx
3.将步骤写成SHell脚本
4.将jenkins项目加入该脚本
5.实现gitlab提交代码,自动触发构建(自动发布代码)
6.jenkins实现tag包的方式进行发布代码
1.首先开发需要更新tag的包
2.jenkins要拉取指定的tag名称
7.jenkins实现代码回退
1.根据tag版本,来进行回退
2.删除web集群的软连接,重新创建软连接
jenkins作业:
1.购买一台云主机,搭建gitlab服务 按需付费即可 (按组为单位)
2.实现多人团队协同工作 (邮箱能用 只需要root创建用户即可)
3.实现代码的 部署和回退 基于tag的方式
测试环境: 实现全自动
线上环境: 点击触发构建 可以基于tag 也可以不基于tag
4.可以尝试一下部署php的项目 带数据库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义