运维从0开始学习jenkins

0、背景

想要学会jenkins运维,了解相关概念。

img_v3_02u6_de135041-b1cd-4a9d-9bea-80c8ba69da1m

 

1)首先,开发人员每天进行代码提交,提交到Git仓库
2)然后,Jenkins作为持续集成工具,使用Git工具到Git仓库拉取代码到集成服务器,再配合JDK, Maven等软件完成代码编译,代码测试与审查,测试,打包等工作,在这个过程中每一步出错,都重新 再执行一次整个流程
3)最后,Jenkins把生成的jar或war包分发到测试服务器或者生产服务器,测试人员或用户就可以访问 应用。

 

 

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项目:https://www.jetbrains.com/zh-cn/help/idea/2025.1/creating-and-running-your-first-java-application.html#run_app

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包,安装步骤如下:

  1. 下载 Jenkins.

  2. 打开终端进入到下载目录.

  3. 运行命令 java -jar jenkins.war --httpPort=8080 --httpListenAddress=0.0.0.0

  4. 打开浏览器进入链接 http://ip:8080.

  5. 按照说明完成安装.

 

关闭 Jenkins
 http://localhost:8080/exit

重启 Jenkies
 http://localhost:8080/restart

重新加载配置信息
 http://localhost:8080/reload

(3.3)插件仓库配置与下载

# jenkins国外官方插件地址下载速度非常慢,所以改为国内插件地址

# 先点击一下 kenkins->manager jenkins -> manage plugins  加载一下下载列表

如下图,这样就可以在默认default.json中把官方插件列表下载到本地了。

  img_v3_02ub_cd0ca6fe-4b72-4077-9a99-ddc766a2eebm
然后我们就可以修改地址文件,替换为国内插件地址
进入Jenkins插件配置目录(Linux示例) cd /var/lib/jenkins/updates/,文件为 default.json
# 替换默认URL为清华镜像
# 替换默认URL 为华为云镜像(本次使用,主要是解决jenkins某些插件下载慢问题)
同时,插件管理配置里也修改

img_v3_02ub_972710cf-05c0-4c65-8889-93f5ee00b98m

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

img_v3_02ub_cd0ca6fe-4b72-4077-9a99-ddc766a2eebm

(3.4)jenkins常用插件

本次我们使用的插件有

  • Localization:Chinese(Simplified):汉化包插件
  • Role-based Authorization Strategy:管理Jenkins用户权限
  • Credentials Binding:凭证管理功能
  • git:从gitlab 拉取代码(OS与插件都需要)

 (3.4.1)Role-based-Authorization 角色管理

找到security,启用角色策略。

img_v3_02uj_9b88bf46-bdac-4f84-9e46-69a6b13acf8m

 然后在设置目录下:找到 Manage and Assign Roles

进行新建,分配即可(分配角色给用户需要先新建用户,角色还有通配符匹配一说)。

如下图,先建一个全局角色给读权限,再建两个项目角色,集成

img_v3_02uo_b48b8b1f-cba9-4566-b5f8-c3e65b8a885m

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

 

img_v3_02uo_26836deb-e83b-477c-923d-a303e6b2a0am

 

这样用户登录后就只能看到对应有权限的项目

 

故障处理

(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版本,找一个低版本最近的

image

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

image

 

相关插件,全部下载好

git 用于拉取,credentials-binding用于凭据绑定。role用于角色,localization-support 用于本地汉化支持,localization-zh-cn 用户直接汉化,

 

posted @ 2026-01-20 17:25  郭大侠1  阅读(10)  评论(0)    收藏  举报