Jenkins 是一个开源的, 基于Java的自动服务器,提供了一种建立持续集成和持续交付(CI/CD)流水线的简单方法 。
持续集成 (CI)是DevOps实践中,团队成员定期将他们的代码更改提交到版本仓库, 然后运行自动化的构建和测试. 持续交付(CD)是自动构建、测试和部署代码更改到生产环境的一系列实践。
安装Jenkins以前,确保你已经有超级管理或者安装Jenkins的权限。本文安装是使用超级管理员的权限进行安装的。
一、安装JDK
Jenkins 是一个Java应用, 因此第一步是安装JDK,运行以下命令安装那个OpenJDK8 安装包。 如果环境上面已经安装JDK8可以跳过该步骤。
[root@localhost ~]# sudo yum install java-1.8.0-openjdk-devel
安装成功之后可以使用java -version 命令进行验证一下。方法如下:
[root@localhost ~]# java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-b04)
OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)
如果配置环境变量后不生效,可以在root账号目录下 vi .zshrc,然后再这个文件里面重新配置下环境变量,那么使用root账户就可以有效了
- 配置 JAVA_HOME=/usr/local/jdk/jdk11
- CLASSPATH=$JAVA_HOME/lib/
- PATH=$PATH:$JAVA_HOME/bin
- export PATH JAVA_HOME CLASSPATH
二、导入JenkinsLinux本地安装源仓库
Jenkins 不是有效的在本地Linux OS仓库,因此,我们将增加Jenkins官方库在操作系统为了安装Jenkins。 添加Jenkins key到系统中。
[root@localhost ~]# rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
安装Jenkins仓库。
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# curl -O https://pkg.jenkins.io/redhat-stable/jenkins.repo
三、安装Jenkins
下面通过以下命令进行安装Jenkins。
[root@localhost ~]# yum -y install jenkins
开启Jenkins服务
[root@localhost ~]# systemctl start jenkins
开启系统启动自动启动Jenkins服务。
[root@localhost ~]# systemctl enable jenkins
检查那个Jenkins服务的状态。
[root@localhost ~]# systemctl status jenkins
四、配置防火墙
配置防火墙允许外部的机器能够访问Jenkins。
[root@localhost ~]# firewall-cmd --permanent --add-port=8080/tcp
[root@localhost ~]# firewall-cmd --reload
五、访问Jenkins以及安装Jenkins插件
通过Jenkins的web接口,我们可以构建、测试和部署软件。在访问Jenkins web界面之前,我们需要设置它。 打开web浏览器并输入以下URL进行回车访问。
http://ip地址:8080
出于安全的考虑, Jenkins把初始密码放到 /var/lib/Jenkins/secrets/initialAdminPassword 文件中阻止没有认证的Jenkins访问安装。 从那个文件中获取密码进行Jenkins的安装。
[root@localhost ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
[root@localhost ~]# 18b628b7df874031932d2400e3b9d050
复制并粘密码到Jenkins设置向导上,然后单击“继续”
安装建议的插件或选择插件安装根据您的需要。我建议您现在安装建议的插件来安装最有用的插件,当然,您可以稍后安装所需的插件。
接着等待那个插件的安装。
为Jenkins创建第一个管理用户。
为Jenkins设置根URL。
Jenkins现在完成了。你可以通过点击使用Jenkins的start来开始Jenkins的工作。
要访问Jenkins,请使用浏览器访问下面的URL。
成功登录后,您将获得Jenkins仪表板。
启动Jenkins Fail
[Jenkins] Failed to start Jenkins Continuous Integration Server
如果你在安装Jenkins的时候,总是出现下方的错误,而且配置了jdk路径也无法解决,请参考本文的解决办法:
错误信息:
jenkins.service - Jenkins Continuous Integration Server
Loaded: loaded (/usr/lib/systemd/system/jenkins.service; disabled; vendor preset: disabled)
Active: failed (Result: start-limit) since Tue 2022-06-07 17:09:46 CST; 20s ago
Process: 5706 ExecStart=/usr/bin/jenkins (code=exited, status=1/FAILURE)
Main PID: 5706 (code=exited, status=1/FAILURE)
Jun 07 17:09:45 k8s-master systemd[1]: jenkins.service: main process exited, code=exited, status=1/FAILURE
Jun 07 17:09:45 k8s-master systemd[1]: Failed to start Jenkins Continuous Integration Server.
Jun 07 17:09:45 k8s-master systemd[1]: Unit jenkins.service entered failed state.
Jun 07 17:09:45 k8s-master systemd[1]: jenkins.service failed.
Jun 07 17:09:46 k8s-master systemd[1]: jenkins.service holdoff time over, scheduling restart.
Jun 07 17:09:46 k8s-master systemd[1]: Stopped Jenkins Continuous Integration Server.
Jun 07 17:09:46 k8s-master systemd[1]: start request repeated too quickly for jenkins.service
Jun 07 17:09:46 k8s-master systemd[1]: Failed to start Jenkins Continuous Integration Server.
Jun 07 17:09:46 k8s-master systemd[1]: Unit jenkins.service entered failed state.
Jun 07 17:09:46 k8s-master systemd[1]: jenkins.service failed.
主要看这里,如果你按照普遍的方法解决不了,那一定是报错信息不一样,Process: 5706 ExecStart=/usr/bin/jenkins (code=exited, status=1/FAILURE)
解决办法(一)
首先安装jdk信息,如果你服务器上已经安装了jdk8,那么就执行
yum install fontconfig java-8-openjdk
可能会出现已经存在或者其他的提示,不用管,也不影响。
接下来完善Jenkins加载到jdk的配置,
两种办法:
方法一
可以直接在配置文件配置/etc/init.d下的jenkins文件中增加现有jdk的路径:
记得systemctl daemon-reload一下
方法二
也可以直接创建软链接,就像windows创建快捷方式一样简单,不用的时候可以删除这个软链接即可。
ln -s /usr/local/java/jdk1.8.0_291/bin/java /usr/bin/java
随后再次启动Jenkins即可
systemctl start jenkins
解决办法(二)
如果不想卸载,那么你也可以不使用systemctl的方式去启动暂停Jenkins,直接用Jenkins自带的服务启动,其实systemctl最终也是执行的这个命令。
cd /etc/init.d
# 启动
./jenkins start
# 停止
./jenkins stop
# 状态
./jenkins status
解决办法(三)
如果按照上边的方法和网上其他的方法都无法解决,你可以卸载了重新按照官方的步骤坐下来,也是可以的。