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 -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
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WECRpPzk-1573974578901)(持续集成-day03.assets/1573608960773.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oRc8YRKF-1573974578903)(持续集成-day03.assets/1573609158967.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bxDvQKgg-1573974578904)(持续集成-day03.assets/1573609172567.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RlU2IgEg-1573974578905)(持续集成-day03.assets/1573609205649.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xLCIEhjo-1573974578906)(持续集成-day03.assets/1573609291602.png)]
jenkins插件
4.jenkins的插件管理?
1)在安装插件过程中如何进行加速?
2)通过Web页面上传.hpi文件进行插件安装。 yum localinstall
3)导入之前服务器已安装的插件 (离线安装)。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sfUpaCQ8-1573974578906)(持续集成-day03.assets/1573610738079.png)]
默认的插件下载地址: 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
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SuPfKKdF-1573974578908)(持续集成-day03.assets/1573611288420.png)]
jenkins自由软件风格
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d6oUQgxB-1573974578909)(持续集成-day03.assets/1573611852355.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OYibxmMs-1573974578910)(持续集成-day03.assets/1573612350832.png)]
jenkins不要随便更新:
1.因为jenkins更新了 插件没有更新,会导致插件失效
22.插件不要随便升级, 插件升级了 jenkins没有升级 无法支持该插件
jenkins集成gitlab
将gitlab上项目代码拉取到jenkins本地
0.先创建好gitlab相关的仓库 (分配好对应的权限)
1.开发 开发项目 --》编写源代码
2.提交源代码至gitlab仓库
3.jenkins拉取gitlab仓库中指定的代码 (git相关的插件)
4.jenkins点击构建,检查代码是否被拉取至本地
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jQCDXGdj-1573974578911)(持续集成-day03.assets/1573613809479.png)]
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集群的软连接,重新创建软连接
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BvclJpu4-1573974578918)(持续集成-day03.assets/15657877392157.jpg)]
jenkins作业:
1.购买一台云主机,搭建gitlab服务 按需付费即可 (按组为单位)
2.实现多人团队协同工作 (邮箱能用 只需要root创建用户即可)
3.实现代码的 部署和回退 基于tag的方式
测试环境: 实现全自动
线上环境: 点击触发构建 可以基于tag 也可以不基于tag
4.可以尝试一下部署php的项目 带数据库