DevOps系列——Jenkins私服
DevOps基础设施较多,所以客官不要太着急,要有个”渐进明细”的过程,前面说了GitLab,这里再说下Jenkins,这俩算
是较为核心的基础组件,其他组件可选项较多,而这俩的地位似乎就没被动摇过,客官可能要问,你这不就是各种安装吗,
太过简单,其实不然,首先,Linux各项命令可以温故而知新,还有版本差异等,比如Linux8中的网络管理命令,另外,
所谓基础设施,当然主要是建设,后面再谈综合应用,使用手册也没必要拿来大说特说,自己建好了,一顿操作尝试,
马上就会了!那么,开始吧!
作者原创文章,谢绝一切转载,违者必究!
本文只发表在"公众号"和"博客园",其他均属复制粘贴!如果觉得排版不清晰,请查看公众号文章。
准备:
VMwareWorkstation 15 Pro/RHEL8.0/Jenkins2.222.3
难度: 新手--战士--老兵--大师
目标:
- 搭建Jenkins私服
1 步骤
Jenkins比较耗内存,建议Linux机器 6G以上,我使用 4G 非常卡!
1.下载稳定版rpm包并上传到Linux上,放/usr:
也可在目标目录使用wget命令:
wget https://pkg.jenkins.io/redhat-stable/jenkins-2.222.3-1.1.noarch.rpm
直接rpm命令安装:
自动安装完成之后的各目录:
/usr/lib/jenkins/jenkins.war WAR包
/etc/sysconfig/jenkins 配置文件
/var/lib/jenkins/ 默认的JENKINS_HOME目录
/var/log/jenkins/jenkins.log Jenkins日志文件
2.为了防止默认 8080 端口冲突,我修改为 8091 :
[root@server224 usr]# vim /etc/sysconfig/jenkins
Linux小技巧:vim 在命令行模式下使用 :set nu
然后回车,显示行号; : line-number
定位到文本的第几行;:/关键字
然后回车,
直接定位到关键字位置,然后按键 n/ctrl+n
则为定位到关键子下/上一个位置。
3.启动Jenkins:
[root@server224 usr]# systemctl start jenkins
发现启动失败:
这是因为Java依赖问题,需添加java执行路径,我使用的是 JDK11 :
[root@server224 usr]# vim /etc/init.d/jenkins
再启动Jenkins即可:
4.如本机,则访问 http://localhost:8091/
如遇UI界面提示:Please wait while Jenkins is getting ready to work (jenkins)
,一直等待。 修改工作目录文件
/var/lib/jenkins #目录
vim hudson.model.UpdateCenter.xml
把 http://updates.jenkins-ci.org/update-center.json
改成 http://mirror.xmission.com/jenkins/updates/update-center.json
5.重启再登录,按提示找到初始密码并填写:
6.插件安装,如果失败,可resume重试,或先直接跳过。
首页主界面,在 系统管理
中,对前面安装失败的插件再次安装:
7.开启外网访问,开端口(或直接关闭防火墙):
firewall-cmd --permanent --add-port=8091/tcp
外部浏览器访问:http://虚机IP:8091
,看到一个 糟老头 就对了!
8.铺垫插件安装:系统管理 --> 插件管理 --> 可选插件:
- 安装Role-based Authorization Strategy ,用于Jenkins使用基于角色的权限管理。
- 安装Publish Over SSH ,通过SSH发送构建指令。
- 安装GitLab Plugin ,可通过GitLab来触发Jenkins进行构建并显示结果到GitLab UI。
- 安装Gitlab Hook ,可使用WebHook机制,触发Jenkins构建。
9.角色配置
系统管理 --> 全局安全配置 --> 授权策略:选” Role-Based Strategy” ;
系统管理 --> Manage and Assign Roles ,先进行角色创建和权限设置,然后进行角色分配:
后记:Jenkins还支持Docker安装,DNF/YUM方式安装,我自己在Linux虚机上使用,结果都是通信错误,
估计是国外站点网络不畅,看官可以试试这另外三种方式,主要是比rpm方式更简单。
至于Jenkins是干什么的,我想各位客官都看到这里了,说明至少是熟悉Jenkins的,所以略!
如果觉得博文排版不美观,请看我的公众号文章,更加清晰!
全文完!
我近期其他文章:
只写原创,敬请关注