Jenkins环境搭建

安装

简介

Jenkins 是一个开源软件项目,是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

java安装

首先我们需要准备 Java 环境,使用下面命令来安装 Java:

1
yum -y install java-1.8.0-openjdk-devel

Jenkins 安装

为了使用 Jenkins 仓库,我们要执行以下命令:

1
2
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:

1
yum -y install jenkins

启动jenkins

启动jenkins

启动 Jenkins 并设置为开机启动:

1
2
systemctl start jenkins.service
chkconfig jenkins on

测试访问

Jenkins 默认运行在 8080端口。

稍等片刻,打开 http://localhost:8080 测试访问。


jenkins 操作权限配置

jenkins 安装好之后,还需要对 jenkins 进行权限配置,使 jenkins 能够以 root 用户运行

修改 jenkins 配置文件

1
vi /etc/sysconfig/jenkins

对如下内容进行修改

1
2
3
JENKINS_USER="jenkins"
# 修改为
JENKINS_USER="root"

修改 jenkins 相关文件夹用户权限

1
2
3
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins

重启 jenkins 服务并检查效果

1
2
3
4
5
# 重启Jenkins(若是其他方式安装的jenkins则重启方式略不同)
service jenkins restart
# 查看Jenkins进程所属用户
ps -ef | grep jenkins
# 若显示为root用户,则表示修改完成

进入 Jenkins

管理员密码

登入 Jenkins 需要输入管理员密码,按照提示,我们使用以下命令查看初始密码:

1
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 以下:

1
ifconfog

centOS 7

1
ip addr

获取 ip 地址

这里笔者的宿主机器的局域网 ip 为 192.168.31.200 所以由上图可知,虚拟机与宿主机器进行局域网互通已基本成功。

[相关资料来源]
手把手教你设置局域网访问虚拟机内服务器
VMware虚拟机实现局域网互通

这里要提及一下,非图形化界面的 centOS 要自行配置:

第一步

依旧是 VMware 的虚拟机的网卡设置,将其设置为“桥接模式”

第二步

进去虚拟机系统(centOS 7)中,进行网络设置

1
2
cd /etc/sysconfig/network-scripts/
ls

查看当前目录下是否有 ifcfg-ens33 (不同系统不同机型可能不一样),可以通过以下命令查看当前应用的是哪个网络设置

1
ip addr

然后对配置文件进行编辑

1
vi ifcfg-ens33

文件修改效果

这里笔者宿主机器的网关地址是 192.168.31.1

然后保存文件,重启网络

1
2
3
# vim 操作
esc
:wq
1
2
systemctl restart network.service
ip addr

查看当前系统的 ip 地址是否已经与宿主机器在同一个网关下面了。

[相关资料来源]
Centos7虚拟机桥接模式

虚拟机防火墙设置

虚拟机系统和宿主机器实现网路连通而且虚拟机已经安装好 jenkins 之后,宿主机器可以通过 虚拟机局域网ip:8080 的方式来访问 jenkins,如果出现无内容返回的情况的话,一般是虚拟机的防火墙设置导致的。

centOS 7 的防火墙模块使用的是 firewall 而非 iptables,(可以改用 iptables)具体方法百度,这里讲述对 firewall 添加 8080 端口的放行规则的方法。

查看防火墙运行状态

1
firewall-cmd --state

如果为 running 的话即为防火墙当前正在运行

添加 8080 端口放行

1
firewall-cmd --permanent --zone=public --add-port=8080/tcp

重启防火墙

1
firewall-cmd --reload

此时应该就能够在宿主机器中访问到 jenkins 的界面啦。

[相关资料来源]
CentOS7 Firewall 简单设置
CentOS7 Firewall防火墙配置用法详解
CentOS 7.0关闭默认防火墙启用iptables防火墙