[Rocky Linux8 部署Jenkins]

一、简介Jenkins

是一个免费使用的开源自动化服务器,旨在帮助开发人员自动化软件持续集成和交付中存在的大多数重复性技术任务。


二、部署Jenkins

步骤1: 安装OpenJDK11

确认系统存储库正在工作,一般是不需要执行的

$ 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)

步骤2:添加Jenkins YUM源

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

步骤3:安装Jenkins服务器

$ 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>

步骤4:从web登录Jenkins并配置

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当中

[Rocky Linux8 部署Jenkins]_第1张图片

解锁之后开始安装插件
 [Rocky Linux8 部署Jenkins]_第2张图片

耐心等待安装插件完成,然后创建第一个Admin User

[Rocky Linux8 部署Jenkins]_第3张图片

创建完成后确认URL是否正确

[Rocky Linux8 部署Jenkins]_第4张图片

确认完成后,Jenkin配置完成,可以开始使用Jenkins

[Rocky Linux8 部署Jenkins]_第5张图片


三、添加Jenkins新用户

Jenkins初次登陆后,默认是不需要用户名密码,后续直接输入URL+端口就可以登录了,那如果不同用户要使用Jenkins做持续集成测试的时候,那就需要多创建独立的用户来区分测试

步骤1:注册一个管理员账户

依次点击 Manage Jenkins--> Configure Global Security

[Rocky Linux8 部署Jenkins]_第6张图片

在配置页面按照如下设置:
A. 安全域选择-"Jenkins' own user database"
B. 勾选-允许用户注册
C. 授权策略-选择项目矩阵授权策略
D. 添加用户并勾选相应策略
E. 应用并保存退出

[Rocky Linux8 部署Jenkins]_第7张图片

tips: 这里只是添加了用户的安全策略,实际上用户并未真的添加,需要到用户列表添加其他用户才行

添加完权限之后,返回Jenkins首页,这个时候会提示你进行注册,用刚刚之前添加的管理员账号admin进行注册,等注册完成后

[Rocky Linux8 部署Jenkins]_第8张图片

步骤2:添加其他用户

使用admin账户进行登录,然后新建用户,步骤依次为Manage Jenkins--> Manage Users

[Rocky Linux8 部署Jenkins]_第9张图片

选择新建用户,输入相应的账户信息,点击新建用户, 这里我们以Test2为例
[Rocky Linux8 部署Jenkins]_第10张图片

添加完成后用户列表里面会显示出Test2,然后我们注销当前的管理员账户,然后用新建的Test2登录

[Rocky Linux8 部署Jenkins]_第11张图片注意这里的账户如果之前设置账户授权策略未添加,登录会提示没有读写权限, 这个时候需要回到之前Configure Global Security里面,给Test2添加相应的权限即可, 这里以管理员权限为例

[Rocky Linux8 部署Jenkins]_第12张图片

保存之后注销当前的管理员账户,然后用之前创建的Test2用户再登录, 确认相应的项目显示出来了

四、注册用户

除了管理员添加账户并设置权限以外,也可以直接注册用户,在登录的首页点击蓝色字体创建一个用户账号

[Rocky Linux8 部署Jenkins]_第13张图片

依次输入注册的账号信息,这里我们以Test3为例

[Rocky Linux8 部署Jenkins]_第14张图片

创建成功后显示如下

点击首页之后,检查和之前Test2一样的没有权限

[Rocky Linux8 部署Jenkins]_第15张图片

这个时候就需要管理员账户同意设置的方法给Test3添加权限之后登录即和Test2一样了.

五、更新Jenkins

步骤1:下载Jenkins离线包

更新Jenkins一般有两种方式,一个是通过war的包来升级,一个是docker部署的升级,这里我们以主流的war包来升级,首先什么时候需要升级,如果你的Jenkins服务器可以连接外网,一般Manage Jenkins有新版本时会直接提示更新

[Rocky Linux8 部署Jenkins]_第16张图片

 直接点击下载即可,也可以自家去其他国内镜像源下载离线包,这里常用的源:Index of /jenkins/war-stable/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror, 下载最新稳定版本即可

步骤2: 查看Jenkins包运行位置

依次点击Manage Jenkins  >  System Information,查看当前war包运行的位置/usr/share/java/jenkins.war

[Rocky Linux8 部署Jenkins]_第17张图片

进入服务器路径备份之前的war包

mv jenkins.war jenkins_x.xxx.x.war.bak

然后将新下载的war包拷贝到这个路径,名称保持为jenkins.war,然后直接输入

systemctl restart jenkins

等待Jenkins重启完成,重新登录,会发现升级已经完成

 

你可能感兴趣的:(jenkins)