Jenkins 基础篇 - 环境准备
前期准备
为了开发这套课程,我专门购买了一台二手戴尔服务器 Dell R720,同时把废弃多年的笔记本电脑也利用了起来。当然如果自己没有多余的电脑,也可以在自己电脑上安装 Vmware Workstation,然后再安装虚拟的方式来实现有几台虚拟服务器。如果自己有多余的旧电脑,并且是2个核心8G以上内存,可以尝试安装 VMware vSphere Hypervisor (ESXi) 的方式来管理虚拟机。
Vmware Workstation 或者 VMware vSphere Hypervisor (ESXi) 软件的下载参考如下连接,需要注意的是目前在 Vmware 站点下载软件需要注册一个账号。注册账号后在产品下载里面可以找到所有产品的下载,也就是这个连接 https://my.vmware.com/cn/group/vmware/downloads/#all_products ,自行选择下载 Vmware Workstation 或者 VMware vSphere Hypervisor (ESXi) 。

另外像戴尔或者联想服务器会针对 VMware vSphere Hypervisor (ESXi) 做一些定制化,可以从戴尔或者联想官网下载 VMware vSphere Hypervisor (ESXi) ,例如这里是戴尔的定制 VMware vSphere Hypervisor (ESXi) 下载页面 https://www.dell.com/support/home/zh-cn/product-support/product/poweredge-r720/drivers ,操作系统选择 VMware ESXi 6.5,格式选择 CD-ROM的ISO映像。

安装 Vmware ESXi
如果自己有多余的旧电脑,并且是2个核心8G以上内存,可以尝试安装 Vmware ESXi 的方式来管理虚拟机。接下来我这里将演示如何安装部署 Vmware ESXi,以及如何通过 Vmware ESXi 创建虚拟机。
首先需要制作一个U盘启动器,需要一个4G及以上的U盘,还需要 UltraISO 软碟通以及前面下载的 Vmware ESXi 软件。将U盘插到电脑上,确保自己U盘上的东西有备份,因为制作启动器会格式化U盘。然后打开 UltraISO 软碟通。
点击左上角【文件】选项里面的【打开】,打开我们下载的 VMware-VMvisor-Installer-7.0U1-16850804.x86_64.iso,打开后如下图所示:

然后再点击【启动】选项里的【写入硬盘映像…】

在新的弹窗里面一定要注意【硬盘驱动器】要选择自己的U盘,其他设置默认即可。然后点击【写入】,等待进度条完成即可,一个U盘启动器就制作好了。
接下来就开始安装 Vmware ESXi,和U盘启动器安装操作系统的方式一样,我这里为了方便演示和截图就通过虚拟机的方式来演示 Vmware ESXi 的安装。
将U盘启动器插在要安装 Vmware ESXi 的电脑上,然后开机进入 BIOS 系统设置第一启动项,不同电脑略有差异,请自行度娘解决。需要注意的是安装 Vmware ESXi,就相当于安装了新的系统,自己电脑上重要的东西记得备份。我这里演示安装 Vmware ESXi 用的是 6.5.0 版本,与 Vmware ESXi 7.0 的使用没什么差异。
启动电脑后是在加载我们U盘启动器的内容:

开始安装 Vmware ESXi,敲【Enter】键继续:

同意用户许可协议,【F11】接受并继续:

选择将 Vmware ESXi 安装在哪个磁盘,如果有多块磁盘,按上下键选择磁盘,我这里就只有一块磁盘,敲【Enter】键继续:

设置键盘布局,选择默认的【US Default】即可,敲【Enter】键继续:

设置超级管理员 root 账号的密码,确保两次输入的密码一致,敲【Enter】键继续:

因为我是在虚拟机里面安装的,这里提示硬件虚拟化没有启用,需要在 BIOS 里面启用硬件虚拟化特性,这里只是出于演示目的,先不用管它,敲【Enter】键继续:

警告提醒磁盘将被重新分区,敲【F11】开始真正的安装进程:

接下来就是安装的进度条,等待进度达到100%,Vmware ESXi 安装就完成了:

安装完成,重启电脑,拔出U盘启动器。

提示服务器将会重启:

重启完成后就是如下界面,这台服务器的 IP 就是 192.168.21.227。需要特别提醒的是 Vmware ESXi 不是像操作系统那样的桌面管理界面,它的管理界面是 Web 平台的,需要在浏览器里面访问。

好了,现在我们在其他桌面环境的电脑端,打开浏览器,输入Vmware ESXi 服务器的 IP 地址进行访问。初次访问浏览器会警告这个站点的SSL证书是不可信的,不用管它,继续访问即可,在登录界面输入 root 账号和密码。

首次进入管理界面,提示加入 Vmware 客户体验改进计划,【确定】即可。初次安装官方版的 Vmware ESXi 会有60天的试用期,如果有正版的激活序列号,在【管理】菜单里面的【许可】中输入密钥激活即可。

界面大概就是这样,有进行实操的同学可以熟悉下 Vmware ESXi 的其他功能选项。

安装 Vmware Workstation










相关资源下载:
服务器规划
准备4个虚拟机服务器
| 名称 | IP | 用途 | 账号 |
|---|---|---|---|
| centos7-200 | 192.168.31.200 | 安装部署Jenkins服务 | root、jenkins、maintainer |
| centos7-110 | 192.168.31.110 | 1、作为jenkins的节点;2、部署开发环境服务 | root、jenkins、maintainer |
| centos7-111 | 192.168.31.111 | 1、作为jenkins的节点;2、部署测试环境服务 | root、jenkins、maintainer |
| centos7-112 | 192.168.31.112 | 1、作为jenkins的节点;2、部署正式环境服务 | root、jenkins、maintainer |
服务器安装
接下来还是分别演示采用 Vmware ESXi 和 Vmware Workstation 安装虚拟机。
Vmware ESXi 安装虚拟机
进入 Vmware ESXi 的 Web 关键界面,开始创建我们的 CentOS7 虚拟机:

创建类型选择【创建新虚拟机】:

在该界面设置虚拟机名称、兼容性、操作系统类型和操作系统的版本,这里需要注意一点,因为我安装的 Vmware ESXi 是新版的 7.0 版本,以防万一新版的 Vmware ESXi 在使用过程中有什么问题,所以在兼容性这里我们可以做个调整,你可以选择其他版本的 Vmware ESXi,也可以选择 Vmware Workstation 兼容的类型,这样以便我们创建的虚拟机可以在其他版本的 Vmware ESXi 或者在 Vmware Workstation 中注册运行。

这里的【选择存储】是设置我们虚拟机的存储位置,因为我这里只有一个 datastore1 存储空间,所有默认就行,如果你自己挂载了多个存储空间,选择自己想要存储的位置即可。
这个界面是设置虚拟机的 CPU、内存、硬盘、网络适配器、驱动器等,CPU、内存、硬盘大小可以根据自己需要做适当调整,但是不能超过物理机的最大值。这里需要注意的有两个地方,一是【网络适配器】,因为目前大多数服务器是多网口的,我的 Dell R720 后面就有4个网口,如果这些网口都利用起来可以有效地避免网络不可用的问题,例如我一个网口用电信的网络,一个网口用移动的网络,当我移动网络不可用时可以继续使用电信网络。我这里只用了一个网口,采用默认设置就行了,如果你的多个网口都利用起来了的话,可以也给这个虚拟机设置多个网络。另一个注意点就是【CD/DVD驱动器】,一定要选择【数据存储 ISO 文件】来挂载我们的系统镜像文件,同时记得把【连接】勾选上。

这里是选择我们的系统镜像文件,你想安装什么系统并且你也有对应的系统镜像文件的话,都可以尝试下,体验下不同的操作系统。Vmware ESXi 具体支持虚拟化哪些系统,可以到 Vmware 官网看看,这里有个 Vmware ESXi 的兼容系统矩阵可以参考下 https://www.vmware.com/resources/compatibility/search.php?deviceCategory=software&testConfig=16

这个界面是虚拟机配置的一个概览,需要调整就进入【上一页】重新设置,不需要调整直接【完成】。

然后就可以点击我们刚才创建好的虚拟机,【打开电源】启动虚拟机了,虚拟机启动后初次进入就是进行操作系统的安装。

后面就是在小窗口进行操作系统安装阶段的系统设置,演示过一遍。
设置系统语言:

这个界面有以下几个地方需要设置:【软件选择】、【安装位置】、【网络和主机名】

我们这里是作为服务器使用,选择【最小安装】即可,如果是当作桌面系统使用需要选择【GNOME 桌面】。

系统安装位置,可以自己分区,也可以自动配置,如果不知道怎样分区好就默认自动分区就行了。

网络和主机名设置,填好主机名后要点击下【应用】才会生效,然后还要开启以太网,开启后路由器会自动分配 IP 地址,如果需要设置特定 IP 地址,可以在【配置】中进行设置,设置的时候需要填写网关 IP、和子网掩码之类东西,为了一切简单,不做特殊设置,只是开启以太网就行了。


后面就开始真正的安装过程了,安装过程中还需要进行用户设置,必须要做的是要为 root 账号设置密码,也可以创建一个新用户。


等待安装完成后需要重启虚拟机,等待虚拟机启动好后既可以登录了。



Vmware Workstation 安装虚拟机
在 Vmware Workstation 中创建虚拟机就笔记简单些,对大家来讲也应该比较熟悉,也还是简单过一下。另外 Vmware Workstation 还可以连接远程服务器,例如可以连接我的 Dell R720 服务器,然后管理服务器上的现有虚拟机或者在服务器上创建新的虚拟机。


关于 Vmware Workstation 管理 Vmware ESXi 服务器,有条件的同学可以自行下去试试各个功能按钮。我这里演示的是利用 Vmware Workstation 在自己电脑上创建虚拟机,不是在远程服务器上创建虚拟机。
开始创建新的虚拟机:

选择【典型】,这个方式要设置的内容少些。

这里是设置系统镜像文件。

设置虚拟机的名称和存储位置。

设置虚拟机硬盘大小。

还可以【自定义硬件】,调整虚拟机的 CPU、内存等。点击完成就开始安装虚拟机操作系统了,和前面安装 CentOS7 系统一样。


不管是采用 Vmware ESXi 还是 Vmware Workstation 安装虚拟机,整个过程都做了一个演示,后面可以自行按照相应的方式将规划的其他几台虚拟机也安装好。
我这里规划的几台虚拟机都计划安装在 Dell R720 服务器上,目前都已经安装好了,如果是安装在自己使用的电脑上,如果电脑内存没有8G以上,并且 CPU 也比较差的话,在使用过程中感觉自己电脑会有很卡。如果自己有旧电脑、或者公司有服务器资源的可以尝试利用其他的计算机资源。
由于我是购买的二手服务器,外观上七八成的成色,内部就懒得拆机进行查看了。测试下磁盘读写速度,感觉还不错,至少读写性能还是杠杠的。
# 测试文件写入速度
# if=/dev/zero不产生IO,因此可以用来测试纯写速度
# 写入文件大小 = 8k * 500000 = 4G
$ time dd if=/dev/zero of=/home/$USER/out bs=8k oflag=direct count=500000
# 测试文件读取速度
# of=/dev/null不产生IO,可以用来测试纯读速度
$ time dd if=/home/$USER/out of=/dev/null bs=8k
我这里的执行出来的结果如下:
$ time dd if=/dev/zero of=/home/$USER/out bs=8k oflag=direct count=500000
记录了500000+0 的读入
记录了500000+0 的写出
4096000000字节(4.1 GB)已复制,49.9355 秒,82.0 MB/秒
real 0m49.969s
user 0m0.751s
sys 0m17.562s
$ time dd if=/home/$USER/out of=/dev/null bs=8k
记录了500000+0 的读入
记录了500000+0 的写出
4096000000字节(4.1 GB)已复制,17.9543 秒,228 MB/秒
real 0m17.956s
user 0m0.354s
sys 0m7.236s
Docker 安装
# 卸载旧版docker或者docker-engine
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# 有必要删除docker目录, 包括images, containers, volumes, and networks
$ sudo rm -rf /var/lib/docker/
# 先安装一些需要的工具
$ sudo yum install -y wget curl net-tools lsof yum-utils bash-completion telnet
# 采用官方docker源安装
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 安装最新docker和docker-engine, 注意检查指纹密钥:060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
$ sudo yum install docker-ce docker-ce-cli containerd.io
# 如果想安装其他版本的Docker,替换<VERSION_STRING>为指定的版本即可。
$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
# 查看目前有哪些版本的Docker
$ yum list docker-ce --showduplicates | sort -r
已加载插件:fastestmirror
可安装的软件包
* updates: mirrors.ustc.edu.cn
* extras: mirrors.aliyun.com
docker-ce.x86_64 3:20.10.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.0-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.9-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.8-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.7-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.6-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.5-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.4-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.3-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.2-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.14-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.13-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.12-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.11-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.10-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.0-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.9-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.8-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.7-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.6-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.5-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.4-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.3-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.2-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.3.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.2.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.3.ce-1.el7 docker-ce-stable
docker-ce.x86_64 17.03.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
Determining fastest mirrors
* base: mirrors.aliyun.com
# 例如我这里安装18的最后一个版本
$ sudo yum install docker-ce-18.09.9-3.el7 docker-ce-cli-18.09.9-3.el7 containerd.io
# 实际应用最好安装最新的版本
$ sudo yum install docker-ce-20.10.1-3.el7 docker-ce-cli-20.10.1-3.el7 containerd.io
# 启动docker
$ sudo systemctl start docker
$ sudo systemctl enable docker
# 添加用户到docker组
$ sudo usermod -aG docker your-user
$ sudo usermod -aG docker $USER
# 卸载docker和docker-engine
$ sudo yum remove docker-ce docker-ce-cli containerd.io
$ sudo rm -rf /var/lib/docker
# 安装docker-compose
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 如果你从 Github 下载文件较慢,可以换成下面的命令
$ sudo curl -L "https://alittler.oss-cn-hangzhou.aliyuncs.com/software/docker/compose/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 设置可执行权限
$ sudo chmod +x /usr/local/bin/docker-compose
# 安装后如果提示没有 docker-compose 命令,执行如下命令添加 软连接到 /usr/bin
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# 查看 docker-compose 版本
$ docker-compose --version
# 设置Docker镜像加速
# 通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
$ sudo mkdir -p /etc/docker
$ sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://my0hjxag.mirror.aliyuncs.com"]
}
EOF
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
Jenkins 基础篇 - 环境准备的更多相关文章
- Jenkins: 基础篇(环境配置)
自动化领域比较有影响力的开源框架jenkins,确实比较强大,易用.很多公司将其用来做持续即成CI(continuous integration).为了拓展和强化自己的软件设计生态系统,也将很久前使用 ...
- Jenkins 基础篇 - 基础设置
站点设置 刚搭建好 Jenkins 环境,你还需要做一些简单设置,让我们的 Jenkins 看起来是这么一回事,特别是你要用于生产环境的时候.首先就是域名配置,如果你为 Jenkins 服务分配了一个 ...
- Jenkins 基础篇 - 插件安装
这一小节主要介绍 Jenkins 插件的安装,登录到 Jenkins 后,依次进入到[系统管理]→ [插件管理]→ [可选插件],在这里可以看到所有的 Jenkins 插件,如下图: 我们在最开始安装 ...
- Jenkins 基础篇 - 任务创建
前面了解了 Jenkins 上各种任务的区别后,我们就来实践应用下,先创建一个[文件夹]类型的任务,将我们目前的一些基础的演示任务[移动]到文件夹里面去,这样可以先做个简单的分类. 新建一个[文件夹] ...
- Jenkins 基础篇 - 安装部署
Jenkins 安装 Jenkins 支持主流的 Linux 发行版系统,同时还支持 macOS.Windows.和 Docker 运行. 具体系统的 Jenkins 安装包可以去官网下载 https ...
- Jenkins 基础篇 - 小试牛刀
现在我们来创建一个简单的 Jenkins 任务,这个任务输出 Java 版本信息和系统信息,通过这个任务我们先了解创建 Jenkins 任务的流程,以及了解一些对任务的基础设置,接下来就是演示任务的整 ...
- Jenkins 基础篇 - 任务分类
从前面的小节中我们看到在创建 Jenkins 任务的时候有好几种类型,如果你专门安装了 Maven 相关插件,可能还会有一个[构建一个 maven 项目]的任务类型,那这些任务类型究竟有何区别,以及我 ...
- Jenkins 基础篇 - Server 配置
我们使用 Jenkins 部署服务之前要先配置我们的目标服务器,配置目标服务器也很简单,就是将服务器的 IP.账号密码或者账号密钥配置在 Jenkins中.在演示服务器配置之前我们要先知道 Linux ...
- Jenkins 基础篇-凭证配置
我们在正式开始使用 Jenkins 之前还要先配置一些凭证,这些凭证的作用主要是用于认证,例如我们要从代码仓库拉取代码,就需要用到代码仓库的账号密码或者密钥:我们要登录远程服务器也需要用户名密码或者密 ...
随机推荐
- 内省详解(Introspector/BeanInfo/MethodDescriptor/PropertyDescriptor)
内省(Introspector)概念 内省Introspector 是Java提供的操作 JavaBean 的 API,用来访问某个属性的 getter/setter 方法.对于一个标准的 Jav ...
- STL之string容器
string string封装了char*,管理这个字符串,是一个char*型的容器. string的相关操作 头文件 #include<string> string构造函数 string ...
- MyBatis(十一):MyBatis架构流程浅析
架构分层 我们将MyBatis架构分为三层,分别为接口层.数据处理层和框架支撑层 接口层:提供外部接口调用的API,使用端通过这些API来操作数据库,接口层收到请求后会调用数据处理层完成具体的数据处理 ...
- Python打包之setuptools
参考链接1 参考链接2 参考链接3 一.setuptools介绍 Setuptools是Python Distutils的加强版,使开发者构建和发布Python包更加容易,特别是当包依赖于其他包时.用 ...
- python网络编程TCP服务多客户端的服务端开发
#服务多客户端TCP服务端开发 2 #方法说明 3 """ 4 bind(host,port)表示绑定端口号,host是ip地址,ip地址一般不进 行绑定,表示本机的任何 ...
- c++ 反汇编 if
1.debug if: 10: if (argc == 0) 0010711E 83 7D 08 00 cmp dword ptr [argc],0 00107122 75 11 jne If+35h ...
- redis雪崩,穿透,击穿
缓存雪崩:同一时间大量key到过期时间失效,可在设置失效时间时加随机数,如果直接修改数据库,那么一定会有不一致,通过失效时间去反复刷新缩短不一致的时间, 为了避免数据一直存在,一定要设置过期时间如果通 ...
- ASPOSE.Cells & ASPOSE.Words 操纵Excel和Word文档的 .NET Core 实例
Aspose.Total是Aspose公司旗下的最全的一套office文档管理方案,它提供的原生API可以对Word.Excel.PDF.Powerpoint.Outlook.CAD.图片.3D.ZI ...
- Java例题_39 判断奇偶后分数累加
1 /*39 [程序 39 分数累加] 2 题目:编写一个函数,输入 n 为偶数时,调用函数求 1/2+1/4+...+1/n,当输入 n 为奇数时,调用函数 3 1/1+1/3+...+1/n 4 ...
- 生产中常用的du命令
1. 介绍 du是用来查看文件或目录所占用磁盘空间的大小 du [-abcDhHklmsSx] [-L <符号连接>][-X <文件>][--block-size][--exc ...