目录
前言
Jenkins 的主要功能
Jenkins 的工作流程
一. 环境准备
二. 安装JDK
三. 安装Tomcat
四. 部署Jenkins
五. 浏览器访问
六. 修改超级管理员默认密码
七. 系统配置
八. 安装插件
九. 手动部署插件
前言
Jenkins 是一个开源的自动化服务器,用于持续集成和持续交付/持续部署 (CI/CD)。它支持自动构建、测试和部署软件项目,帮助开发团队快速检测和解决问题,提高开发效率和软件质量。
Jenkins 的主要功能
-
持续集成 (CI):
- 自动化构建和测试代码。
- 及时发现和修复代码问题,减少集成风险。
-
持续交付/持续部署 (CD):
- 自动将构建好的应用程序部署到测试环境或生产环境。
- 确保软件可以随时发布,缩短发布周期。
-
插件支持:
- Jenkins 有丰富的插件生态系统,可以集成各种工具和平台,如 Git, Maven, Docker, Kubernetes 等。
- 插件使 Jenkins 可以扩展其功能,以适应不同的需求。
-
分布式构建:
- 支持分布式构建,可以通过多台机器来分担构建任务,提高构建速度和效率。
-
可视化:
- 提供友好的用户界面,可以直观地查看构建状态、测试结果和部署情况。
- 支持创建和管理各种类型的作业和流水线。
Jenkins 的工作流程
-
代码提交:
- 开发人员将代码提交到版本控制系统(如 Git)。
-
触发构建:
- Jenkins 监控版本控制系统的变化,当检测到代码提交时,会自动触发构建。
-
构建和测试:
- Jenkins 根据配置的构建脚本,编译代码并运行自动化测试。
-
生成构建结果:
- Jenkins 将构建结果(成功或失败)报告给开发人员,并生成构建工件(如可执行文件、Docker 镜像等)。
-
部署:
- Jenkins 可以自动将构建好的工件部署到测试环境或生产环境。
一. 环境准备
主机名:jenkins | 192.168.226.22 | Rocky_linux9.4 | 2核心4G |
关闭防火墙和selinux,进行时间同步。
#修改主机名
[root@localhost ~]# hostnamectl set-hostname jenkins
JDK: 17.0.6
Tomacat: 9.0.91
Jenkins: 2.452
二. 安装JDK
Java Archive Downloads - Java SE 17https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
[root@jenkins ~]# wget https://download.oracle.com/java/17/archive/jdk-17.0.6_linux-x64_bin.rpm
[root@jenkins ~]# yum install -y jdk-17.0.6_linux-x64_bin.rpm
#查看版本信息
[root@jenkins ~]# java -version
java version "17.0.6" 2023-01-17 LTS
Java(TM) SE Runtime Environment (build 17.0.6+9-LTS-190)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.6+9-LTS-190, mixed mode, sharing)
yum安装的java默认目录是:/usr/lib/jvm/jdk-17-oracle-x64
三. 安装Tomcat
Index of /apache/tomcat/tomcat-9/v9.0.91/binhttps://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.91/bin/
#下载二进制压缩包
[root@jenkins ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.91/bin/apache-tomcat-9.0.91.tar.gz
#下载tar工具
[root@jenkins ~]# yum install -y tar
#解压
[root@jenkins ~]# tar -zxvf apache-tomcat-9.0.91.tar.gz -C /usr/local/
#给安装目录改名
[root@jenkins ~]# mv /usr/local/apache-tomcat-9.0.91/ /usr/local/tomcat
#创建 systemd 服务单元文件
[root@jenkins ~]# vim /etc/systemd/system/tomcat.service #写入下述内容配置
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/jdk-17-oracle-x64
Environment=CATALINA_PID=/usr/local/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/usr/local/tomcat
Environment=CATALINA_BASE=/usr/local/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
User=root
Group=root
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
#重新加载 systemd 守护进程
[root@jenkins ~]# systemctl daemon-reload
#启动tomcat
[root@jenkins ~]# systemctl enable --now tomcat
#查看版本信息
[root@jenkins ~]# cat /usr/local/tomcat/RELEASE-NOTES
或
[root@jenkins ~]# /usr/local/tomcat/bin/catalina.sh version
四. 部署Jenkins
Index of /jenkins/war/ | 清华大学开源软件镜像站 | Tsinghua Open Source MirrorIndex of /jenkins/war/ | 清华大学开源软件镜像站,致力于为国内和校内用户提供高质量的开源软件镜像、Linux 镜像源服务,帮助用户更方便地获取开源软件。本镜像站由清华大学 TUNA 协会负责运行维护。https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/
[root@jenkins ~]# wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.452/jenkins.war
#删除tomcat发布目录下的文件
[root@jenkins ~]# rm -rf /usr/local/tomcat/webapps/*
[root@jenkins webapps]# mkdir /usr/local/tomcat/webapps/ROOT
#下载解压工具
[root@jenkins ~]# yum install -y unzip
#解压
[root@jenkins ~]# unzip -d /usr/local/tomcat/webapps/ROOT/ /root/jenkins.war
[root@jenkins ~]# ls /usr/local/tomcat/webapps/ROOT
META-INF WEB-INF apple-touch-icon.png css executable favicon.ico favicon.svg help images jsbundles mask-icon.svg robots.txt scripts
#下载插件
[root@jenkins ~]# yum install libfreetype.so.6 fontconfig -y
#重启tomcat
[root@localhost ~]# systemctl restart tomcat
#查看Jenkins初始密码
[root@jenkins ~]# tail /usr/local/tomcat/logs/catalina.out
Please use the following password to proceed to installation:
b89ac66e0e584c3d8d898694600c4915
This may also be found at: /root/.jenkins/secrets/initialAdminPassword
*************************************************************
*************************************************************
*************************************************************
#下载git
[root@jenkins ~]# yum install -y git
五. 浏览器访问
http://192.168.226.22:8080/
这里下载需要等待一会
使用默认的这个admin用户,其密码就是初始化的那个长密码字符串。
#查看
[root@jenkins ~]# cd .jenkins/
[root@jenkins .jenkins]# ll
total 56
-rw-r----- 1 root root 1658 Jul 11 14:03 config.xml
-rw-r----- 1 root root 156 Jul 11 14:02 hudson.model.UpdateCenter.xml
-rw-r----- 1 root root 370 Jul 11 14:13 hudson.plugins.git.GitTool.xml
-rw------- 1 root root 1680 Jul 11 14:13 identity.key.enc
-rw-r----- 1 root root 5 Jul 11 14:16 jenkins.install.InstallUtil.lastExecVersion
-rw-r----- 1 root root 5 Jul 11 14:16 jenkins.install.UpgradeWizard.state
-rw-r----- 1 root root 184 Jul 11 14:15 jenkins.model.JenkinsLocationConfiguration.xml
-rw-r----- 1 root root 171 Jul 11 14:02 jenkins.telemetry.Correlator.xml
drwxr-x--- 2 root root 6 Jul 11 14:02 jobs
drwxr-x--- 2 root root 32 Jul 11 14:13 logs
-rw-r----- 1 root root 1037 Jul 11 14:02 nodeMonitors.xml
drwxr-x--- 93 root root 8192 Jul 11 14:13 plugins
-rw-r----- 1 root root 64 Jul 11 14:02 secret.key
-rw-r----- 1 root root 0 Jul 11 14:02 secret.key.not-so-secret
drwx------ 2 root root 4096 Jul 11 14:17 secrets
drwxr-x--- 2 root root 149 Jul 11 14:13 updates
drwxr-x--- 2 root root 24 Jul 11 14:02 userContent
drwxr-x--- 3 root root 56 Jul 11 14:02 users
六. 修改超级管理员默认密码
七. 系统配置
#查找git路径,这个填在对应的配置信息里
[root@jenkins ~]# which git
/usr/bin/git
其中在上图中邮箱配置添加时的内容见下图:
上面配置的邮箱是扩展插件邮箱
下面的邮箱是系统邮箱
配置好后点击保存,勾选通过发送测试邮件测试配置,验证邮箱是否正确发送。
配置好后保存退出即可。
八. 安装插件
安装等待即可。
在主机中下载maven
Index of /apache/maven/maven-3/3.9.8/binaries
[root@jenkins ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.9.8/binaries/apache-maven-3.9.8-bin.tar.gz
[root@jenkins ~]# tar -zxvf apache-maven-3.9.8-bin.tar.gz
[root@jenkins ~]# mv apache-maven-3.9.8 /usr/local/maven398
九. 手动部署插件
该情况是在jenkins插件商店里没有的情况下,通过找到特定插件去部署。
Jenkins Pluginshttps://plugins.jenkins.io/
在搜索框内搜索指定插件
上图中是三种下载插件的方式,第一种就是插件商店,但是我们此时的需求,插件商店没有,那么我们就需要使用另外两种下载插件的方式。
图中的方法一是命令工具,jenkins-plugin-cli
是一个较新的工具,可能只在Jenkins 2.222及以上版本中提供。该命令不可用的原因还可能是安装方式不同,不在系统的PATH
环境变量中。
图中方法二就是通过连接下载部署的方式。下面就是使用这种方式执行。
等待安装即可。