Jenkins Linux安装

Jenkins Linux 安装

在官网下载Jenkins

下载当前最新的稳定版Jenkins保存到指定目录。

安装包下载

wget -O ./jenkins.war http://mirrors.jenkins.io/war-stable/latest/jenkins.war

配置Jenkins的JAVA运行环境

Kenkins需要Java虚拟机才可以运行,在运行Jenkins前先配置JAVA虚拟机环境。

下载 Java JRE Linux X64

Java JRE安装包下载

wget -O ./jre-8u281-linux-x64.tar https://javadl.oracle.com/webapps/download/AutoDL?BundleId=244058_89d678f2be164786b292527658ca1605

安装Java JRE

将下载好的Java JRE安装包移动你要安装的目录里,我想要安装在/usr/java目录下。

(ROOT)创建安装目录sudo mkdir -p /usr/java

(ROOT)移动安装包sudo mv ./jre-8u281-linux-x64.tar /usr/java

(ROOT)解压 sudo tar -zxvf /usr/java/jre-8u281-linux-x64.tar

查看/usr/java目录你会发现除了安装包外新存在一个名字与jre1.8.0_281差不多相同的目录(这取决于你下载的JavaJRE版本)

那么现在你的Java JRE安装在了/usr/java/jre1.8.0_281内,现在可以将/usr/java/目录下的Java JRE安装包删除掉以节省空间

接下来配置环境变量,请根据自己Linux发行版的规则变通的配置/etc/profile

/etc/profile文件开始处填写:

1
2
3
4
export JAVA_HOME=/usr/java/jre1.8.0_281/
export JRE_HOME=/usr/java/jre1.8.0_281/
export CLASS_PATH=.:$JAVA_HOME/lib/rt.jar:$JRE_HOME/lib
export JAVA_PATH=$JAVA_HOME/bin:$JRE_HOME/bin

之后找到PATH,在PATH末尾填写上${JAVA_PATH}。请根据自己的实际情况填写,否则可能会覆盖之前的环境变量哦!

我的环境变量配置如下:

1
2
3
4
5
6
7
8
9
10
11
export JAVA_HOME=/usr/java/jre1.8.0_281/
export JRE_HOME=/usr/java/jre1.8.0_281/
export CLASS_PATH=.:$JAVA_HOME/lib/rt.jar:$JRE_HOME/lib
export JAVA_PATH=$JAVA_HOME/bin:$JRE_HOME/bin

if [ "`id -u`" -eq 0 ]; then
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${JAVA_PATH}"
else
PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:${JAVA_PATH}"
fi
export PATH

激活环境变量 source /etc/profile

查看配置是否成功则执行java -version,出现版本信息则配置成功:

1
2
3
java version "1.8.0_281"
Java(TM) SE Runtime Environment (build 1.8.0_281-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.281-b09, mixed mode)

初始化Jenkins

准备工作已经结束,接下来开始进行初始化Jenkins!

回到下载Jenkins的目录,执行java -jar jenkins.war --httpPort=8080命令。这里的8080是Web界面的端口号,你可以修改成自己需要的端口号,注意防火墙要放行该TCP端口。

首次运行Jenkins,首次运行Jenkins时会在当前用户家目录下生成一些配置文件~/.jenkins

访问你的域名或IP地址加上端口号后,你可以看到这样的界面。

01-first-interface-2021-02-06-14-31-08

此时Jenkins会下载一些资源,需要等待5分钟左右。如果时间过长,结束掉现在运行的Jenkins,先需要更改国内下载源来加快速度:

1
2
3
4
5
6
7
8
9
10
11
cd ~/.jenkins
vim hudson.model.UpdateCenter.xml

# 将<url>标签内的网址改为清华源

# 将下面的内容
<url>https://updates.jenkins.io/update-center.json</url>
# 修改为

<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>

之后回到Jenkins软件包的目录下重新执行java -jar jenkins.war --httpPort=8080

稍后页面会让你输入管理员密码解锁安装Jenkins。管理员密码可以在运行Jenkins的终端上找到,也可以根据页面提示的文件中找到。

Jenkins安装解锁密码

输入密码后下一步会安装基本常用插件,选择左侧的选项开始安装即可。

Jenkins安装常用插件

此时需要一段时间等待……

如果出现插件安装失败,不用担心,很可能是Jenkins版本不支持当前下载的最新插件,稍后进入到Jenkins管理页面更新Jenkins版本即可。

Jenkins安装插件部分插件安装失败

接下来根据你的个人需求配置管理员用户名密码等设置。

配置开机自动启动 systemd 守护进程

以下内容使用于以war包形式部署Jenkins的方式来配置systemd守护进程服务,其它方式安装的Jenkins需要你自己变通。

以下内容参考linux(centos8):用systemctl管理war包形式的jenkins(java 14 / jenkins 2.257)这篇文章。

创建管理脚本

vim jenkins-control.sh创建新文本文件,将以下内容写入到文件中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash
#

source /etc/profile

pid=`ps -ef | grep jenkins.war | grep -v 'grep'| awk '{print $2}'| wc -l`
if [ "$1" = "start" ];then
if [ $pid -gt 0 ];then
echo 'jenkins is running...'
else
nohup $JAVA_HOME/bin/java -jar /home/hackinsss/Jenkins/jenkins.war --enable-future-java --httpPort=8088 2>&1 &
fi
elif [ "$1" = "stop" ];then
exec ps -ef | grep jenkins | grep -v grep | awk '{print $2}'| xargs kill -9
echo 'jenkins is stop..'
else
echo "Please input like this:"./jenkins.sh start" or "./jenkins stop""
fi

为脚本文件赋予执行权限 chmod u+x jenkins-control.sh

启动Jenkins ./jenkins-control.sh start

关闭Jenkins ./jenkins-control.sh stop

上面两个操作没有问题,能正确开启或关闭Jenkins的话则脚本运行没有问题,开始编辑systemd服务文件。

创建systemd服务文件

sudo vim /etc/systemd/system/jenkins.service

修改运行Jenkins的用户和脚本路径地址为你自己的。不推荐使用root权限运行Jenkins

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[Unit]
Description=Jenkins
After=network.target

[Service]
Type=forking
User=使用该用户运行Jenkins
Group=使用该用户组运行Jenkins
ExecStart=/home/hackinsss/Jenkins/jenkins-control.sh start
ExecReload=
ExecStop=/home/hackinsss/Jenkins/jenkins-control.sh stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

sudo systemctl daemon-reload

设置开机自动运行Jenkins sudo systemctl enable jenkins

运行Jenkins sudo systemctl start jenkins

停止运行Jenkins sudo systemctl start jenkins

安装Jenkins流程记录到此结束。