CentOS7 Jenkins

Jenkins简介

Jenkins 提供了软件开发的持续集成服务,运行在 Servlet 容器中(例如 Apache Tomcat )。它支持软件配置管理( SCM )工具(包括 AccuRev SCM、CVS、Subversion、Git、Perforce、Clearcase 和 RTC ),可以执行基于 Apache Ant 和 Apache Maven 的项目,以及任意的 Shell 脚本和 Windows 批处理命令
Jenkins 的存在是为了简化开发流程,比如往 git 上提交了代码, Jenkins 就会自动拉取最新的代码进行部署

CentOS7 下 Jenkins 搭建过程

:::danger Jenkins 需要 jdk 环境 ::: 安装完 jdk 环境之后,就可以准备安装 Jenkins ,使用以下命令进行安装即可(#后面为注释内容):

  1. #下载Jenkins库
  2. wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
  3. #导入key
  4. rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
  5. #安装Jenkins
  6. yum install -y jenkins
  7. #启动Jenkins服务
  8. systemctl start jenkins

到这里, CentOS 下 Jenkins 搭建便是完成了
此时可以通过 ip:port 的方式,访问到 Jenkins
image.png
点击Continue之后,然后根据自己的需求,进行安装即可。
image.png
image.png
到此, CentOS 下 Jenkins 搭建便是完成了

可能遇到的问题

1、Starting jenkins (via systemctl): Job for jenkins.service failed because the control process exited with error code.

运行命令: systemctl status jenkins.service 查看错误详细信息
image.png
请注意图中标注出来的两个地方,第一个地方是 Jenkins 加载的路径,第二个地方是 Jenkins 的错误详细信息: Failed to start LSB: Jenkins Automation Server
这是因为 Jenkins 未加载到 java 环境的问题,直接修改 Jenkins 的启动文件,并在 candiddates 参数内追加 java 的环境变量即可
Jenkins的启动文件,在图中第一个地方已经做了标注,所以运行以下命令:vim /etc/rc.d/init.d/jenkins
具体修改见下图:
image.png
关于 java 环境变量这部分,因为每个人的配置不同,所以需要根据自己的实际情况做修改。修改完之后再做以下步骤即可(#后内容为注释内容):

  1. #重新加载修改的配置文件
  2. systemctl daemon-reload
  3. #重新启动Jenkins服务
  4. systemctl restart jenkins.service
  5. #查看Jenkins服务,可以看到服务已经起来了
  6. systemctl status jenkins.service

image.png

2、在 CentOS 环境下, Jenkins 已经安装好了,但是在外部访问不到。这可能是因为防火墙的问题

出于安全的考虑,不建议直接将防火墙关掉的。开启 Jenkins 需要的端口即可(以开启 8080 端口为例,具体可根据自己需求更改):

  1. 开端口命令:firewall-cmd --zone=public --add-port=8080/tcp --permanent
  2. 重启防火墙:systemctl restart firewalld.service
  3. 命令含义:
  4. --zone #作用域
  5. --add-port=80/tcp #添加端口,格式为:端口/通讯协议
  6. --permanent #永久生效,没有此参数重启后失效

因为 Jenkins 默认端口是 8080 ,可能会导致端口冲突。修改 Jenkins 的默认端口即可:

  1. vim /etc/sysconfig/jenkins

在该配置文件中,可以看到 JENKINS_PORT 这一项,根据需求修改即可