运维从0开始学习jenkins
0、背景
想要学会jenkins运维,了解相关概念。

1、gitbal 服务端安装配置
gitlab安装 1. 安装相关依赖 yum -y install policycoreutils openssh-server openssh-clients postfix 2. 启动ssh服务&设置为开机启动 systemctl enable sshd && sudo systemctl start sshd 3. 设置postfix开机自启,并启动,postfix支持gitlab发信功能 systemctl enable postfix && systemctl start postfix 4. 开放ssh以及http服务,然后重新加载防火墙列表 firewall-cmd --add-service=ssh --permanent firewall-cmd --add-service=http --permanent firewall-cmd --reload 5. 下载安装(不行就直接复制链接) wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-17.1.1-ce.0.el7.x86_64.rpm # rpm -ivh gitlab-ce-17.1.1-ce.0.el7.x86_64.rpm yum install gitlab-ce-17.1.1-ce.0.el7.x86_64.rpm 6. 修改gitlab配置 vi /etc/gitlab/gitlab.rb 修改gitlab访问地址和端口,默认为80,我们改为82 external_url 'http://192.168.66.100:82' nginx['listen_port'] = 82 7. 重载配置及启动gitlab gitlab-ctl reconfigure gitlab-ctl restart 8. 把端口添加到防火墙 firewall-cmd --zone=public --add-port=82/tcp --permanent firewall-cmd --reload 启动成功后,默认用户为 root 密码为 /etc/gitlab/init_password 文件
2、IDEA push 到 gitlab
idea提交到gitlab上:https://cloud.tencent.com/developer/article/1735099
3、jenkins 体系
使用信息
| 序号 | 事项 | 版本 |
| 1 |
JDK8 JRE1.8 |
https://www.oracle.com/cn/java/technologies/downloads/ centos7虚拟机系统自带 |
| 2 | jenkins2.26 | https://mirror.twds.com.tw/jenkins/war-stable/2.263.4/jenkins.war |
| 3 | maven | |
| 4 | ||
| 5 |
(3.1)JDK的下载安装
JDK8下载:https://download.oracle.com/otn/java/jdk/8u471-b09/99a6cb9582554a09bd4ac60f73f9b8e6/jdk-8u471-linux-x64.rpm?AuthParam=1769068541_e62a040cd1e0a999c8100b476cf4f1e2
官网下载了,安装教程参考:https://www.java.com/zh-cn/download/help/linux_x64rpm_install.html
官网教程:https://docs.oracle.com/javase/8/docs/technotes/guides/install/linux_jdk.html#BJFGGEFG 关键词(Installing the JDK on RPM-Based Linux Platforms)
例如,要将软件安装到 /usr/java/ 目录中,请键入: cd /usr/java 卸载任何之前安装的 Java 程序包。 rpm -e package_name 安装程序包。 rpm -ivh jre-8u73-linux-x64.rpm 要升级程序包,请键入: rpm -Uvh jre-8u73-linux-x64.rpm 如果要节省磁盘空间,请删除 .rpm 文件。 退出 root shell。不需要重新启动。 查看/etc/profile,是否有JAVA_HOME 等环境变量,rpm安装默认会在 /usr/lib/java
export JAVA_HOME=/usr/java/jdk1.8.0_191
export CLASSPATH=.:%JAVA_HOME%\lib\dt.jar:%JAVA_HOME%\lib\tools.jar:
export PATH=$PATH:$JAVA_HOME/bin
(3.2)下载并运行 Jenkins
现在都是war包,安装步骤如下:
-
打开终端进入到下载目录.
-
运行命令 java -jar jenkins.war --httpPort=8080 --httpListenAddress=0.0.0.0
-
打开浏览器进入链接
http://ip:8080. -
按照说明完成安装.
关闭 Jenkins http://localhost:8080/exit 重启 Jenkies http://localhost:8080/restart 重新加载配置信息 http://localhost:8080/reload
(3.3)插件仓库配置与下载
# jenkins国外官方插件地址下载速度非常慢,所以改为国内插件地址
# 先点击一下 kenkins->manager jenkins -> manage plugins 加载一下下载列表
如下图,这样就可以在默认default.json中把官方插件列表下载到本地了。


然后再去 Advaiable plugins 中查找搜索插件,如下图,勾上后再点击安装即可。

(3.4)jenkins常用插件
本次我们使用的插件有
- Localization:Chinese(Simplified):汉化包插件
- Role-based Authorization Strategy:管理Jenkins用户权限
- Credentials Binding:凭证管理功能
- git:从gitlab 拉取代码(OS与插件都需要)
(3.4.1)Role-based-Authorization 角色管理
找到security,启用角色策略。

然后在设置目录下:找到 Manage and Assign Roles
进行新建,分配即可(分配角色给用户需要先新建用户,角色还有通配符匹配一说)。
如下图,先建一个全局角色给读权限,再建两个项目角色,集成

用户必须要有全局读权限才能看到项目,否则项目角色无意义,如下图:

这样用户登录后就只能看到对应有权限的项目
故障处理
(1)老版本jenkins插件包手动上传下载配置
老版本jenkins获取插件会报错,因为不是最新版本,很多插件需要至少某个版本以上才能支持。
需要自己手动下载老插件包、上传,相关操作参考:https://blog.csdn.net/GyaoG/article/details/157024588
插件下载:https://updates.jenkins-ci.org/download/plugins/
比如下载汉化版插件:
https://updates.jenkins-ci.org/download/plugins/localization-support/
https://.jenkins.io/download/plugins/localization-zh-cn/
我们的是2.26版本,找一个低版本最近的

然后登录自己Jenkins,在里面的"插件管理”->"Advanced settings",选择“选择文件”,然后再点击部署(不同版本Jenkins的Advanced settings界面显示有稍许不同)。

相关插件,全部下载好
git 用于拉取,credentials-binding用于凭据绑定。role用于角色,localization-support 用于本地汉化支持,localization-zh-cn 用户直接汉化,
浙公网安备 33010602011771号