【工具- Jenkins】从0到1搭建 Jenkins,运维工资分你一半
大家好,我是温大大
最近很多同学在面试过程中,偶尔会被问到是否会搭建环境,是否用过 Jenkins,有很多公司注重devOps(开发/测试/运营角色集合),甚至有专门的DevOps工程师,薪资还是杠杠的,所以我们今天专门讲讲环境搭建 Jenkins这块。
Jenkins 作用:
-
1、可以帮我们把研发代码拉取(git)下来 —— 所以需要用到git工具 -
2、然后打包,部署到服务器上 —— 所以需用到JDK工具(市面上大部分代码都是用Java写的) -
3、大大简化了:编译、打包、部署的过程,让测试更加有效率
现状:
-
1、小厂一般由测试、运维 或 研发人员负责 -
2、大厂一般由自动化测试 或 专职工程效能组人员负责
无论是你中级还是高级测试工程师,多掌握一项技能不压身,
所以温大大给大家准备了:
-
Jenkins 手动 部署 -
Jenkins + Docker 部署 -
Jenkins 常用配置 -
福利:Jenkins 操作手册推荐 & 下载
目录
-
环境准备(方式1:手动安装)
-
1.1 JDK 安装 -
1.2 Git 客户端安装
-
方式1: 手动安装
-
2.0 Jenkins 部署war下载 -
2.1 修改国内镜像加速 -
2.2 启动Jenkins -
2.3 创建用户名+密码 -
2.4 安装插件(更多的是提供思路,不一定报错信息一样)
-
方式2: docker 安装
-
3.1 docker 工具安装 -
3.2 docker 启动镜像 -
3.3 docker 常用命令 -
3.4 登录 Jenkins -
3.5 官网 Jenkins+docker 操作手册
-
Jenkins 配置
-
4.1 Jenkins 配置用户 -
4.2 Jenkins 配置 git 项目
-
Jenkins 操作手册推荐
-
5.1 Jenkins 权威指南(白嫖) -
5.2 Jenkins 官方操作指南
-
招聘需求
-
6.1 神策数据,月薪(20K-30K)+ 14薪 -
6.2 测试经理,月薪(20K-30K)+ 13~14薪
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 创建用户名+密码
-
浏览器登录:http://x.x.x.x:8080(部署了Jenkins的ip)
-
创建:admin 用户
-
保存并完成
-
进入主页面
2.4 安装插件(更多的是提供思路,不一定报错信息一样)
-
如果在安装时没有安装好对应的插件,可以在 「Mange Jenkins」看到错误,我们可以再次安装:
-
通过报错可以看出,缺少某些依赖,例:javax-mail-api(1.6.2-2)
-
进入plugin 库查找对应包,网址:https://updates.jenkins-ci.org/download/plugins/,找到javax-mail-api(1.6.2-2)
-
web 网页中进行安装:已下载的插件 hpi,路径:「Mange Jenkins」 - 「纠正」 - 「高级」- 「选择文件」-「上传」- 显示已完成 javax-mail-api
-
重启下 Jenkins,后台杀掉进程(kill -9 pid),然后再启动
-
再次启动后,发现仍有报错,根据报错 更新版本
-
在线更新,再次重启
3. 方式2: docker 安装
上面的手动安装太费时间了,我们换一种快速安装方式,docker,简单来说:获取jenkins的镜像,然后在Linux系统上面加载镜像,这些动作都是由 docker完成
3.1 docker 工具安装
-
linux下用包管理器:yum 安装 & 启动
# 确保内核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:是否启动成功,STATUS 是 Up表示启动成功
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:查看容器的日志
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:关闭容器
docker stop 15bee5c0728d
-
docker start:启动容器
# 启动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 配置用户
-
配置:Manage Jenkins - Configure Global Security - Allow users to sign up
-
注册:登录页面 - create an account - 注册用户wendada - create account - 登录
4.2 Jenkins 配置 git 项目
这里我以:配置git代码库 + 通过maven打包 + 通过SSH传输到服务器为例说明
-
安装 git 插件: plugin manager - git - install without restart - 安装完后重启
-
安装 maven 插件: plugin manager - Maven Integration - install without restart - 安装完后重启
-
安装 SSH 插件:plugin manager - Publish Over SSH - 安装完后重启
-
重启Jenkins: 浏览器访问 http://10.120.150.40:8080/restart - yes
-
创建 item:New item - wen - maven项目 - ok
-
添加 git信息:Source Code Management - git - URL添加 - 认证信息
点评:此步骤是将 git 上代码 打包到 jenkins上
-
添加构建后操作 选Send build artifacts over SSH
*点评:此步骤是进行部署,将isterter.tar.gz 文件进行解压
5. Jenkins 操作手册推荐
5.1 Jenkins 权威指南(白嫖)
介绍:
较为经典的一本Jenkins指南,从Jenkins搭建、部署、配置(git/SSH/Maven)保姆式教学
白嫖党:
-
后台回复:jenkins 直接获取下载链接
土豪党:
-
若你是土豪,可以买个纸质书籍方便翻阅:
-
优惠减免:
https://union-click.jd.com/jdc?e=618%7Cpc%7C&p=JF8BANEJK1olXDYCV19ZC00QAF9MRANLAjZbERscSkAJHTdNTwcKBlMdBgABFksUAmsLHVwWQl9HCANtTx1UexB2XiN3PQFiEF8bCi9TBmhLXVcZbQcyV19eDEsfA24LH2slXQEyAjBdCUoWAm4NG14WbQcyVFlYAU0VAWsJE1wXVTYFVFdtUx55BToMHwkRCgUKXAlZDnsnM2w4HFscSQBwFQxJDjknM284GGtXM1IBAF9cC0wUA2dfSF5GWw8KXV5YCEJEBW1bT10XCA8GZFxcCU8eMw
5.2 Jenkins 官方操作指南
网址:https://www.jenkins.io/zh/doc/
6. 招聘需求
6.1 神策数据,月薪(20K-30K)+ 14薪
详情
6.2 测试经理,月薪(20K-30K)+ 13~14薪
详情: