Bootstrap

CentOS7 部署Jenkins

官方网址:https://www.jenkins.io/zh/

一、Jenkins概念

​ Jenkins是一款开源 CI&CD 软件,是一个开源的自动化服务器,广泛用于自动化软件开发过程中的各个阶段,如构建、测试和部署。它支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。

​ 它通过支持各种插件,能够集成不同的开发、构建和部署工具,从而帮助开发团队提高开发效率,减少手动操作的错误。Jenkins可以通过设置“流水线”来定义自动化流程,从而实现持续集成(CI)和持续交付(CD)。

二、系统环境配置

1.关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

2.关闭selinux

sed -i 's/enforcing/disabled/' /etc/selinux/config
setenforce 0

三、安装JDK

这里安装的版本为 jdk21,使用 jenkins.war 包所需的 JDK 版本要大于 11

1.下载并解压JDK源代码

下载JDK源码包,并指定解压到 /usr/local/java 路径下:

cd /usr/local/src
wget http://xxx/jdk-21_linux-x64_bin.tar.gz   # 这个自己找一下地址~~
mkdir -p /usr/local/java
tar -xzf jdk-21_linux-x64_bin.tar.gz -C /usr/local/java

2.创建JDK目录软链接

进入/usr/local/java目录,对 jdk-21 目录创建符号链接到jdk目录:

cd /usr/local/java
ln -s jdk-21.0.1 jdk

3.设置JDK目录所有权

通过 chown 命令递归地更改 /usr/local/java 目录及其所有子目录和文件的所有权,赋予 root 用户和 root 组所有权:

chown -R root:root /usr/local/java

4.配置JDK环境变量

配置 /etc/profile 环境变量文件,添加 Java 环境变量:

cat >> /etc/profile <<'EOF'
# JAVA
export JAVA_HOME=/usr/local/java/jdk
export PATH=$PATH:$JAVA_HOME/bin
EOF

执行环境变量生效:

source /etc/profile

5.验证JDK版本

安装后,可执行以下命令验证版本:

java -version

# 显示版本信息
java version "21.0.1" 2023-10-17 LTS
Java(TM) SE Runtime Environment (build 21.0.1+12-LTS-29)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.1+12-LTS-29, mixed mode, sharing)

四、安装Jenkins

1.下载War包

通过war包的方式安装,先访问清华大学开源软件镜像网站,下载war包:

https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/

选择安装版本:

image-20241114093526236

通过手动下载,完成后,将下载的包传到服务器,可以通过命令rz选择下载文件包进行上传(如rz不能使用,通过yum -y install lrzsz下载该插件):

cd /usr/local/java/jdk/lib
rz
image-20240613092950188

也可以通过wget命令直接下载,并指定下载到 /usr/local/java/jdk/lib 目录下:

cd /usr/local/src
wget -P /usr/local/java/jdk/lib https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.485/jenkins.war

2.配置启动服务

创建一个名为 jenkins.service 的 systemd 服务单元文件,用于管理 jenkins 服务,存放于 /etc/systemd/system 目录下,并添加以下内容:

cat >> /etc/systemd/system/jenkins.service <<'EOF'
[Unit]
Description=Jenkins Daemon
After=network.target

[Service]
ExecStart=/usr/local/java/jdk/bin/java -jar /usr/local/java/jdk/lib/jenkins.war
Environment="JENKINS_HOME=/root/.jenkins"

[Install]
WantedBy=multi-user.target
EOF

解释说明:

  • `ExecStart:指定了启动 Jenkins 服务的命令,使用 Java 执行 Jenkins 的 WAR 文件。
  • Environment:设置了环境变量 JENKINS_HOME,指定 Jenkins 的主目录为 /root/.jenkins,这个目录用于存储 Jenkins 的配置文件和数据。

3.启动Jenkins服务

配置完成后,重载系统服务并启动 Jenkins 服务:

systemctl daemon-reload         # 重载单元服务
systemctl start jenkins		    # 启动 jenkins
systemctl enable jenkins		# 启用 jenkins 开机自启
systemctl status jenkins		# 检查 jenkins 服务状态
systemctl restart jenkins		# 重启服务

4.查看登录密码

启动服务后,会在 /root/.jenkins 生成配置文件,密码文件存放于 /root/.jenkins/secrets 目录下:

[root@localhost /root]# cat /root/.jenkins/secrets/initialAdminPassword
31195e9251b54ab0ad18d3c029d721ac

五、访问并配置Jenkins

浏览器访问地址 http://<IP>:8080/ ,使用初始生成的密码进行登录:

image-20241114101918263

选择【安装推荐的插件】即可:

image-20240613094635387

等待安装完成:

image-20240613094658453

设置管理员账户、密码、邮箱:

image-20240613095743883

下一步至完成,跳至jenkins主页:

image-20240613095840643

六、运行一个简单项目

1.创建新项目

在 Jenkins 主界面,点击【新建Item】,输入项目名称,选择【Freestyle project】(自由风格项目),然后点击【确定】:

image-20240613112515345

2.配置构建步骤

在项目配置页面,滚动到【Build Steps】部分,点击【增加构建步骤】,选择【执行 Shell】,在 Shell 脚本输入框中输入以下内容:

echo "Hello, Jenkins!"

3.保存并构建项目

点击【Save】保存项目配置,然后在项目页面,点击【立即构建】:

image-20241114102854909

4.查看构建输出

在项目页面的左侧菜单中,点击【#1】(表示第一次构建)以查看构建详情:

image-20241114102935930

然后点击【控制台输出】以查看构建日志,应该能看到类似如下的输出:

Started by user hongzelong
Running as SYSTEM
Building in workspace /root/.jenkins/workspace/test
[test] $ /bin/sh -xe /tmp/jenkins15203231938335166266.sh
+ echo 'Hello, Jenkins!'
Hello, Jenkins!
Finished: SUCCESS

image-20241114103331480

至此,已经成功安装并配置了 Jenkins,并运行了一个简单的构建项目。如果有更多的需求,Jenkins 提供了大量插件和配置选项,可以根据需要进一步扩展和定制。

;