大家好,我是温大大

最近很多同学在面试过程中,偶尔会被问到是否会搭建环境,是否用过 Jenkins,有很多公司注重 devOps(开发/测试/运营角色集合),甚至有专门的 DevOps 工程师,薪资还是杠杠的,所以我们今天专门讲讲环境搭建 Jenkins 这块。

Jenkins 作用:

现状:

无论是你中级还是高级测试工程师,多掌握一项技能不压身,

所以温大大给大家准备了:

目录

  1. 环境准备 (方式 1:手动安装)
  1. 方式 1: 手动安装
  1. 方式 2: docker 安装
  1. Jenkins 配置
  1. Jenkins 操作手册推荐
  1. 招聘需求

1. 环境准备 (方式 1:手动安装)

以 Linux 环境为例,若是手动安装则需进行环境准备

1.1 JDK 安装

# 搜索
yum -y list java*

# 安装
yum install -y java-1.8.0-openjdk.x86_64

1.2 Git 客户端安装

# 搜索
yum -y list git*

# 安装
yum install -y git.x86_64

2. 方式 1: 手动安装

2.0 Jenkins 部署 war 下载

官方地址下载:http://mirrors.jenkins-ci.org/war-stable/

2.1 修改国内镜像加速

# 配置UpdateCenter.xml文件
vim /User/xx/.jenkins/hudson.model.UpdateCenter.xml

# 将国外源 改成 国内源
<url>https://updates.jenkins.io/update-center.json</url> 
修改成
<url>http://mirror.xmission.com/jenkins/updates/update-center.json</url> 

2.2 启动 Jenkins

# 命令行,启动jar包
java -jar ./jenkins.war –httpPort=8080
# 浏览器访问 http://120.0.0.1:8080

# 命令行,找到临时密码
Please use the following password to proceed to installation:

4231129670654f4295b8671b3266fdab 

2.3 创建用户名 + 密码

2.4 安装插件(更多的是提供思路,不一定报错信息一样)

3. 方式 2: docker 安装

上面的手动安装太费时间了,我们换一种快速安装方式,docker,简单来说:获取 jenkins 的镜像,然后在 Linux 系统上面加载镜像,这些动作都是由 docker 完成

3.1 docker 工具安装

# 确保内核3.10+
uname -r

# 升级yum
yum update     

# 配置安装源-阿里(二选一)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

# 配置安装源-官方(二选一)
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo


# 安装docker
yum install -y docker-ce docker-ce-cli containerd.io  

# 启动docker
systemctl start docker       
ps -ef | grep docker

[root@10-120-150-40 main]# ps -ef | grep docker
root      7314  4280  0 16:42 pts/0    00:00:00 grep --color=auto docker
root     10894     1  0 3月23 ?       00:02:42 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

查看 docker 是否安装成功

[root@10-120-150-40 main]# docker --version

Docker version 20.10.13, build a22408634  # 显示版本

3.2 docker 启动镜像

docker run \
  -u root \
  -d \
  -p 11002:8080 \
  -p 50000:50000 \
  -v /main/jenkins_home:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  --name jenkins \
  jenkins/jenkins:lts

-u # root用户执行
-d # 开启Daemon模式
-p # 定义web访问端口(容器端口11002,主机端口8080)我们后续就可以通过web 11002端口进行访问
-p # 定义容器内部通讯端口 50000:50000,
-v # 定义工作目录,(容器目录/main/jenkins_home,主机目录/var/jenkins_home),通过访问/main/jenkins_home能看到数据文件
-- name # 定义容器名称
jenkins/jenkins:lts # 定义加载的镜像

3.3 docker 常用命令

docker ps -a

CONTAINER ID   IMAGE                 COMMAND                  CREATED         STATUS         PORTS                                                                                        NAMES
15bee5c0728d   jenkins/jenkins:lts   "/sbin/tini -- /usr/…"   3 minutes ago   Up 3 minutes   0.0.0.0:50000->50000/tcp, :::50000->50000/tcp, 0.0.0.0:11002->8080/tcp, :::11002->8080/tcp   jenkins5
docker logs 15bee5c0728d


# 找到对应web密码:5c49eda02fd24202940c619bd2febb78
Please use the following password to proceed to installation:

5c49eda02fd24202940c619bd2febb78

This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
docker stop 15bee5c0728d

# 启动docker,linux下用systemctl,其他系统命令不一样
systemctl start docker 

# 显示当前容器
docker ps -a


CONTAINER ID   IMAGE                 COMMAND                  CREATED          STATUS                            PORTS     NAMES
15bee5c0728d   jenkins/jenkins:lts   "/sbin/tini -- /usr/…"   10 minutes ago   Exited (143) About a minute ago             jenkins5

# 启动容器 15bee5c0728d
docker start 15bee5c0728d

3.4 登录 Jenkins

参考:2.3 创建用户名 + 密码 & 2.4 安装插件

3.5 官网 Jenkins+docker 操作手册

https://github.com/jenkinsci/docker/blob/master/README.md

4.Jenkins 配置

4.1 Jenkins 配置用户

4.2 Jenkins 配置 git 项目

这里我以:配置 git 代码库 + 通过 maven 打包 + 通过 SSH 传输到服务器为例说明

点评:此步骤是将 git 上代码 打包到 jenkins 上

* 点评:此步骤是进行部署,将 isterter.tar.gz 文件进行解压

5. Jenkins 操作手册推荐

5.1 Jenkins 权威指南(白嫖)

介绍:

较为经典的一本 Jenkins 指南,从 Jenkins 搭建、部署、配置 (git/SSH/Maven) 保姆式教学

白嫖党:

土豪党:

5.2 Jenkins 官方操作指南

网址:https://www.jenkins.io/zh/doc/

同学欢迎加入「温大大面试群」,我们这里分享「测试」技术、薪资、面试套路方面的交流,如果你也有一个「加薪」梦,欢迎加入我们,大家一起升职加薪。 关注公众号:测试猿温大大


↙↙↙阅读原文可查看相关链接,并与作者交流