官方网址: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/
选择安装版本:
通过手动下载,完成后,将下载的包传到服务器,可以通过命令rz
选择下载文件包进行上传(如rz
不能使用,通过yum -y install lrzsz
下载该插件):
cd /usr/local/java/jdk/lib
rz
也可以通过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/
,使用初始生成的密码进行登录:
选择【安装推荐的插件】即可:
等待安装完成:
设置管理员账户、密码、邮箱:
下一步至完成,跳至jenkins主页:
六、运行一个简单项目
1.创建新项目
在 Jenkins 主界面,点击【新建Item】,输入项目名称,选择【Freestyle project】(自由风格项目),然后点击【确定】:
2.配置构建步骤
在项目配置页面,滚动到【Build Steps】部分,点击【增加构建步骤】,选择【执行 Shell】,在 Shell 脚本输入框中输入以下内容:
echo "Hello, Jenkins!"
3.保存并构建项目
点击【Save】保存项目配置,然后在项目页面,点击【立即构建】:
4.查看构建输出
在项目页面的左侧菜单中,点击【#1】(表示第一次构建)以查看构建详情:
然后点击【控制台输出】以查看构建日志,应该能看到类似如下的输出:
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
至此,已经成功安装并配置了 Jenkins,并运行了一个简单的构建项目。如果有更多的需求,Jenkins 提供了大量插件和配置选项,可以根据需要进一步扩展和定制。