Jenkins环境搭建
安装
简介
Jenkins 是一个开源软件项目,是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
java安装
首先我们需要准备 Java 环境,使用下面命令来安装 Java:
yum -y install java-1.8.0-openjdk-devel
Jenkins 安装
为了使用 Jenkins 仓库,我们要执行以下命令:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
如果您以前从 Jenkins 导入过 key,那么 rpm --import 将失败,因为您已经有一个 key。请忽略,继续下面步骤。
安装
接着我们可以使用 yum 安装 Jenkins:
yum -y install jenkins
启动jenkins
启动jenkins
启动 Jenkins 并设置为开机启动:
systemctl start jenkins.service
chkconfig jenkins on
测试访问
Jenkins 默认运行在 8080端口。
稍等片刻,打开 http://localhost:8080 测试访问。
jenkins 操作权限配置
jenkins 安装好之后,还需要对 jenkins 进行权限配置,使 jenkins 能够以 root 用户运行
修改 jenkins 配置文件
vi /etc/sysconfig/jenkins
对如下内容进行修改
JENKINS_USER="jenkins"
# 修改为
JENKINS_USER="root"
修改 jenkins 相关文件夹用户权限
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins
重启 jenkins 服务并检查效果
# 重启Jenkins(若是其他方式安装的jenkins则重启方式略不同)
service jenkins restart
# 查看Jenkins进程所属用户
ps -ef | grep jenkins
# 若显示为root用户,则表示修改完成
进入 Jenkins
管理员密码
登入 Jenkins 需要输入管理员密码,按照提示,我们使用以下命令查看初始密码:
cat /var/lib/jenkins/secrets/initialAdminPassword
复制密码,填入,进入 Jenkins。
定制 Jenkins
我们选择默认的 install suggested plugins 来安装插件。
创建用户
请填入相应信息创建用户,然后即可登入 Jenkins 的世界
注意事项:在创建默认管理员的时候需要填写邮箱,不然会创建失败
实验完成
恭喜,您已完成 搭建 Jenkins 环境搭建 实验。 有关 Jenkins 的使用实践,请继续关注后续实验。
虚拟机相关设置
如果你是在本地的虚拟机试行安装 jenkins 的话,有时候会遇到想要在宿主机器通过局域网 ip 访问虚拟机中的 jenkins 的情况。
你需要解决两个问题:
- 虚拟机与宿主机器实现局域网互通并获取虚拟机的局域网 ip
- 进行虚拟机(centOS)的防火墙设置,使宿主机器能够访问对应端口
虚拟机与宿主机器实现局域网互通
这里以 VMware Workstation Pro 里运行的虚拟机为例,对虚拟机的网卡进行设置,设置为**“桥接模式”**

如果你安装的是图形化界面的 centOS 的话,应该会自动更新网络设置,此时你打开终端,输入以下命令查看 ip 设置:
centOS 7 以下:
ifconfog
centOS 7
ip addr

这里笔者的宿主机器的局域网 ip 为 192.168.31.200 所以由上图可知,虚拟机与宿主机器进行局域网互通已基本成功。
[相关资料来源] 手把手教你设置局域网访问虚拟机内服务器 VMware虚拟机实现局域网互通
这里要提及一下,非图形化界面的 centOS 要自行配置:
第一步
依旧是 VMware 的虚拟机的网卡设置,将其设置为**“桥接模式”**
第二步
进去虚拟机系统(centOS 7)中,进行网络设置
cd /etc/sysconfig/network-scripts/
ls
查看当前目录下是否有 ifcfg-ens33 (不同系统不同机型可能不一样),可以通过以下命令查看当前应用的是哪个网络设置
ip addr
然后对配置文件进行编辑
vi ifcfg-ens33

这里笔者宿主机器的网关地址是 192.168.31.1
然后保存文件,重启网络
# vim 操作
esc
:wq
systemctl restart network.service
ip addr
查看当前系统的 ip 地址是否已经与宿主机器在同一个网关下面了。
[相关资料来源] Centos7虚拟机桥接模式
虚拟机防火墙设置
虚拟机系统和宿主机器实现网路连通而且虚拟机已经安装好 jenkins 之后,宿主机器可以通过 虚拟机局域网ip:8080 的方式来访问 jenkins,如果出现无内容返回的情况的话,一般是虚拟机的防火墙设置导致的。
centOS 7 的防火墙模块使用的是 firewall 而非 iptables,(可以改用 iptables)具体方法百度,这里讲述对 firewall 添加 8080 端口的放行规则的方法。
查看防火墙运行状态
firewall-cmd --state
如果为 running 的话即为防火墙当前正在运行
添加 8080 端口放行
firewall-cmd --permanent --zone=public --add-port=8080/tcp
重启防火墙
firewall-cmd --reload
此时应该就能够在宿主机器中访问到 jenkins 的界面啦。
卸载 jenkins
service jenkins stop
yum clean all
yum -y remove jenkins
rm -rf /var/cache/jenkins
rm -rf /var/lib/jenkins/
[相关资料来源] CentOS7 Firewall 简单设置 CentOS7 Firewall防火墙配置用法详解 CentOS 7.0关闭默认防火墙启用iptables防火墙
限制 jenkins 启动占用的内存
vim /etc/sysconfig/jenkins
JENKINS_JAVA_OPTIONS="-Xmx1024m -XX:MaxPermSize=512m -Djava.awt.headless=true"