前置条件
1. 已安装java1.8版本
java -version
java version "1.8.0_361"
Java(TM) SE Runtime Environment (build 1.8.0_361-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.361-b09, mixed mode)
[root@localhost ~]# echo $JAVA_HOME
/usr/java/jdk1.8.0_361
2. 已安装git
[root@localhost ~]# git --version
git version 1.8.3.1
下载jenkins安装包
https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/
jenkins-2.346.3-1.1.noarch.rpm // 361之后的版本需要jdk 11才能支持
官网说明:
https://get.jenkins.io/war-stable/
Supported Java versions for the LTS release line are:
2.361.1 (September 2022) and newer
Java 11 or Java 17
2.346.1 (June 2022) and newer
Java 8, Java 11, or Java 17
2.164.1 (March 2019) and newer
Java 8 or Java 11
2.60.1 (June 2017) and newer
Java 8
1.625.1 (October 2015) and newer
Java 7
安装Jenkins
[root@localhost ~]# rpm -ivh jenkins-2.346.3-1.1.noarch.rpm
warning: jenkins-2.346.3-1.1.noarch.rpm: Header V4 RSA/SHA512 Signature, key ID 45f2c3d5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:jenkins-2.346.3-1.1 ################################# [100%]
修改用户和端口号
vim /etc/sysconfig/jenkins // 新版本不生效
JENKINS_USER="root"
JENKINS_PORT="8099"
添加JAVA路径
vi /etc/init.d/jenkins
/etc/alternatives/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/lib/jvm/java-11.0/bin/java
/usr/lib/jvm/jre-11.0/bin/java
/usr/lib/jvm/java-11-openjdk-amd64
/usr/bin/java
/usr/java/jdk1.8.0_361/bin/java
systemctl daemon-reload // 重新加载生效
打开防火墙8099端口
1、开启防火墙
systemctl start firewalld
2、关闭防火墙
systemctl stop firewalld.service
3、查看防火墙开放的端口
firewall-cmd --zone=public --list-ports
4、打开防火墙指定端口,如8099端口
firewall-cmd --zone=public --add-port=8099/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
5、重新加载配置文件
firewall-cmd --reload
6、查看防火墙状态
systemctl status firewalld
启动jenkins
systemctl start jenkins
查看jenkins服务状态
systemctl status jenkins.service
[root@localhost ~]# systemctl status jenkins.service
● jenkins.service - Jenkins Continuous Integration Server
Loaded: loaded (/usr/lib/systemd/system/jenkins.service; disabled; vendor preset: disabled)
Active: activating (start) since Thu 2023-05-04 20:40:40 CST; 44s ago
Main PID: 4366 (java)
Tasks: 71
Memory: 318.4M
CGroup: /system.slice/jenkins.service
└─4366 /usr/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war --webroot=%C/jenkins/war --httpPort=8080
May 04 20:40:46 localhost.localdomain jenkins[4366]: *************************************************************
May 04 20:40:46 localhost.localdomain jenkins[4366]: *************************************************************
May 04 20:40:46 localhost.localdomain jenkins[4366]: *************************************************************
May 04 20:40:46 localhost.localdomain jenkins[4366]: Jenkins initial setup is required. An admin user has been created and a password generated.
May 04 20:40:46 localhost.localdomain jenkins[4366]: Please use the following password to proceed to installation:
May 04 20:40:46 localhost.localdomain jenkins[4366]: d0b2bb9176a646a799321d663b0fa598
May 04 20:40:46 localhost.localdomain jenkins[4366]: This may also be found at: /var/lib/jenkins/secrets/initialAdminPassword
May 04 20:40:46 localhost.localdomain jenkins[4366]: *************************************************************
May 04 20:40:46 localhost.localdomain jenkins[4366]: *************************************************************
May 04 20:40:46 localhost.localdomain jenkins[4366]: *************************************************************
启动超时问题
[root@localhost /]# systemctl start jenkins
Job for jenkins.service failed because a timeout was exceeded. See "systemctl status jenkins.service" and "journalctl -xe" for details.
解决方案:
启动失败,jerkins服务启动时间较长,超过了一定时间(90秒)就会被systemd认定启动失败,可以通过修改/usr/lib/systemd/system/jenkins.service文件中的TimeoutStartSec=0来解决该问题
vim /usr/lib/systemd/system/jenkins.service TimeoutStartSec=0 systemctl daemon-reload // 重新加载配置文件 systemctl start jenkins // 启动jenkins
进入jenkins
http://192.168.0.199:8080/
输入启动时的密码或查看文件
[root@localhost /]# cat /var/lib/jenkins/secrets/initialAdminPassword
d0b2bb9176a646a799321d663b0fa598
安装推荐的插件
创建第一个管理员用户
admin , Yumin1983, eric, 55581154@qq.com
实例配置
Jenkins URL: http://192.168.0.199:8080/
修改免安全认证
vi ./var/lib/jenkins/config.xml
<useSecurity>false</useSecurity>
systemctl restart jenkins // 重启
MAVEN
https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/
tar -vxzf apache-maven-3.6.3-bin.tar.gz
mv apache-maven-3.6.3 /usr/local/maven
jenkins中安装maven插件
管理jenkins - 插件管理 - 可选插件 - maven integration plugin 3.22
新建任务
名字:test - 创建一个maven任务 - 源码管理 - Git
配置 Repository URL, Credentials, Branches to build.
配置MAVEN和pom.xml
管理jenkins - 全局工具配置 - Maven - 新增Maven - name(maven3) - MAVEN_HOME(/usr/local/maven)
在pre Steps中确认pom.xml的位置在项目根目录下