是一个免费使用的开源自动化服务器,旨在帮助开发人员自动化软件持续集成和交付中存在的大多数重复性技术任务。
确认系统存储库正在工作,一般是不需要执行的
$ sudo dnf repolist
repo id repo name
appstream Rocky Linux 8 - AppStream
baseos Rocky Linux 8 - BaseOS
extras Rocky Linux 8 - Extras
列出Rocky Linux 8上可用的JDK版本:
$ sudo dnf search java-*-openjdk
Last metadata expiration check: 2:35:06 ago on Fri 07 Oct 2022 05:49:14 AM EDT.
============================================= Name Matched: java-*-openjdk =============================================
java-1.8.0-openjdk.x86_64 : OpenJDK 8 Runtime Environment
java-11-openjdk.x86_64 : OpenJDK 11 Runtime Environment
java-17-openjdk.x86_64 : OpenJDK 17 Runtime Environment
这里安装java-11-openjdk
$ sudo dnf -y install java-11-openjdk
等安装完成后查看java版本
$ java --version
openjdk 11.0.16.1 2022-08-12 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.16.1.1-1.el8_6) (build 11.0.16.1+1-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.16.1.1-1.el8_6) (build 11.0.16.1+1-LTS, mixed mode, sharing)
Jenkins团队维护一个包含 Jenkins RPM 包的存储库,所以这里将添加此存储库,然后从中安装软件包
通过wget名利来下载jenkins.repo,如果没有wget工具则先下载
$ sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
还要导入用于签署 Jenkins 包的 GPG 密钥:
$ sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
最后检查存储库现在是否可供本地使用:
$ sudo dnf repolist
repo id repo name
appstream Rocky Linux 8 - AppStream
baseos Rocky Linux 8 - BaseOS
extras Rocky Linux 8 - Extras
jenkins Jenkins-stable
$ sudo dnf install jenkins
等待安装完成后设置Jenkins自动启动,然后启动Jenkins
$ sudo systemctl enable jenkins
jenkins.service is not a native service, redirecting to systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable jenkins
$ sudo systemctl start jenkins
启动之后检查服务运行状态
$ systemctl status jenkins
● jenkins.service - Jenkins Continuous Integration Server
Loaded: loaded (/usr/lib/systemd/system/jenkins.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2022-10-07 07:44:52 EDT; 50min ago
Main PID: 7421 (java)
Tasks: 51 (limit: 23474)
Memory: 1.4G
CGroup: /system.slice/jenkins.service
└─7421 /usr/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war --webroot=/var/cache/jenkins/>Oct 07 07:50:24 localhost.localdomain jenkins[7421]: 2022-10-07 11:50:24.934+0000 [id=78] INFO h.model.Up>
Oct 07 07:50:24 localhost.localdomain jenkins[7421]: 2022-10-07 11:50:24.934+0000 [id=78] INFO h.m.Update>
Oct 07 07:50:31 localhost.localdomain jenkins[7421]: 2022-10-07 11:50:31.966+0000 [id=78] INFO h.model.Up>
Oct 07 07:50:31 localhost.localdomain jenkins[7421]: 2022-10-07 11:50:31.966+0000 [id=78] INFO h.m.Update>
Oct 07 07:50:37 localhost.localdomain jenkins[7421]: 2022-10-07 11:50:37.446+0000 [id=78] INFO h.model.Up>
Oct 07 07:50:37 localhost.localdomain jenkins[7421]: 2022-10-07 11:50:37.447+0000 [id=78] INFO h.m.Update>
Oct 07 07:50:45 localhost.localdomain jenkins[7421]: 2022-10-07 11:50:45.687+0000 [id=78] INFO h.model.Up>
Oct 07 07:50:45 localhost.localdomain jenkins[7421]: 2022-10-07 11:50:45.688+0000 [id=78] INFO h.m.Update>
Oct 07 08:22:26 localhost.localdomain jenkins[7421]: 2022-10-07 12:22:26.429+0000 [id=136] INFO hudson.mo>
Oct 07 08:22:26 localhost.localdomain jenkins[7421]: 2022-10-07 12:22:26.434+0000 [id=136] INFO hudson.mo>
http://server_ip_or_hostname:port
IP或者hostname按照实际的来,port默认是8080,但是可以去修改jenkins配置文件,存放在/etc/sysconfig/jenkins
## Type: integer(0:65535)
## Default: 8080
## ServiceRestart: jenkins
#
# Port Jenkins is listening on.
# Set to -1 to disable
#
JENKINS_PORT="8080"
将JENKINS_PORT修改为你需要的端口号,然后重启Jenkins
$ systemctl restart jenkins
第一次打开需要解锁Jenkins,输入解锁密码,密码存放在/var/lib/jenkins/secrets/initalAdminPassword当中
耐心等待安装插件完成,然后创建第一个Admin User
创建完成后确认URL是否正确
确认完成后,Jenkin配置完成,可以开始使用Jenkins
Jenkins初次登陆后,默认是不需要用户名密码,后续直接输入URL+端口就可以登录了,那如果不同用户要使用Jenkins做持续集成测试的时候,那就需要多创建独立的用户来区分测试
依次点击 Manage Jenkins--> Configure Global Security
在配置页面按照如下设置:
A. 安全域选择-"Jenkins' own user database"
B. 勾选-允许用户注册
C. 授权策略-选择项目矩阵授权策略
D. 添加用户并勾选相应策略
E. 应用并保存退出
tips: 这里只是添加了用户的安全策略,实际上用户并未真的添加,需要到用户列表添加其他用户才行
添加完权限之后,返回Jenkins首页,这个时候会提示你进行注册,用刚刚之前添加的管理员账号admin进行注册,等注册完成后
使用admin账户进行登录,然后新建用户,步骤依次为Manage Jenkins--> Manage Users
选择新建用户,输入相应的账户信息,点击新建用户, 这里我们以Test2为例
添加完成后用户列表里面会显示出Test2,然后我们注销当前的管理员账户,然后用新建的Test2登录
注意这里的账户如果之前设置账户授权策略未添加,登录会提示没有读写权限, 这个时候需要回到之前Configure Global Security里面,给Test2添加相应的权限即可, 这里以管理员权限为例
保存之后注销当前的管理员账户,然后用之前创建的Test2用户再登录, 确认相应的项目显示出来了
除了管理员添加账户并设置权限以外,也可以直接注册用户,在登录的首页点击蓝色字体创建一个用户账号
依次输入注册的账号信息,这里我们以Test3为例
创建成功后显示如下
点击首页之后,检查和之前Test2一样的没有权限
这个时候就需要管理员账户同意设置的方法给Test3添加权限之后登录即和Test2一样了.
更新Jenkins一般有两种方式,一个是通过war的包来升级,一个是docker部署的升级,这里我们以主流的war包来升级,首先什么时候需要升级,如果你的Jenkins服务器可以连接外网,一般Manage Jenkins有新版本时会直接提示更新
直接点击下载即可,也可以自家去其他国内镜像源下载离线包,这里常用的源:Index of /jenkins/war-stable/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror, 下载最新稳定版本即可
依次点击Manage Jenkins > System Information,查看当前war包运行的位置/usr/share/java/jenkins.war
进入服务器路径备份之前的war包
mv jenkins.war jenkins_x.xxx.x.war.bak
然后将新下载的war包拷贝到这个路径,名称保持为jenkins.war,然后直接输入
systemctl restart jenkins
等待Jenkins重启完成,重新登录,会发现升级已经完成