最近团队出了个线上BUG,导致了几个用户的订单不对,因为发现的及时,客服那边还没有接到投诉就修正过来了。所以就想贿赂测试妹子这次BUG能不能不往上报,要不然我还得写报告、复盘啥的。本以为一顿饭能搞定,谁知测试妹子不吃饭,让我帮她个忙......。

这.....还没容我多想,测试妹子就发话了,让我帮她在电脑上用Docker安装个Jenkins,这个BUG就按住不表啦。聊了聊才知道,他们测试那也已经卷的不行了,上个月测试部门裁了点人,现在留下的人手Python、Django、Jemeter的卷了起来。她安装Jenkins也是为了不被落在后面......

其实用 Docker 安装 Jenkins 还挺简单的,如果公司里搞 CI/CD 那 Jenkins 算是必不可少的组件啦,所以写个教程分享给大家。

准备工作

准备工作很简单,在电脑上安装Docker Desktop,这块自己安装吧,如果这步能难住,可能你得重新考虑下你的职业规划了(这句话一定不要当着妹子的面说,否则出事儿了别怪我没提醒)。

下载Jenkins Docker镜像

这部也可以在第一次启动Jenkins Docker 容器时再下载,不过可以先下载下来防止启动时耗费时间过长。

启动Jenkins Docker

  • 首先要在电脑上新建Jenkins容器要挂载的主机目录

sudo mkdir -m 777 /var/jenkins_mount

后面会让容器的/var/jenkins_home 目录挂载到电脑的/var/jenkins_mount目录,这样在Jenkins容器里的数据就能持久化保存到电脑上。

  • 启动Jenkins Docker 执行以下命令即可

docker run --name local_jenkins --rm -d -p 10240:8080 -p 10241:50000 -v /var/jenkins_mount:/var/jenkins_home jenkins/jenkins
  • 参数解释

    • --name local_jenkins 把容器名称设置成 local_jenkins

    • --rm 容器关闭后删除容器

    • -d 在后台运行

    • -p 10240:8080 -p 10241:50000 将主机的 10240 端口 映射到 Jenkins容器的 8080 端口, 主机的10241 映射到容器的 50000 端口

    • -v /var/jenkins_mount:/var/jenkins_home 将容器的 /var/jenkins_home 目录映射到主机的/var/jenkins_mount 目录。

初始设置

  • 启动完成后,执行docker ps -l 命令检查是否有个名字为local_jeniks的容器正常运行。

docker ps -l
CONTAINER ID   IMAGE             COMMAND                  CREATED          STATUS         PORTS                                               NAMES
48245973f208   jenkins/jenkins   "/sbin/tini -- /usr/…"   11 seconds ago   Up 9 seconds   0.0.0.0:10240->8080/tcp, 0.0.0.0:10241->50000/tcp   local_jenkins
  • 设置 Jenkins的镜像源

把主机目录/var/jenkins_mount 里的 hudson.model.UpdateCenter.xml 文件内容修改成下面这样(镜像源URL换成了国内的)

<?xml version='1.1' encoding='UTF-8'?>
<sites><site><id>default</id><url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url></site>
</sites>
  • 浏览器访问 127.0.0.1:10240 访问 Jenkins ,进行初始化

这里提示需要用初始密码解锁Jenkins

初始密码放在了Jenkins容器的 /var/jenkins_home/secrets/initialAdminPassword 里,因为我们做了存储映射去本机的 /var/jenkins_mount/secrets/initialAdminPassword 里粘贴出来,在这里输入即可。

下面是初始登录时,让安装Jenkins的一些插件,我选的默认推荐的插件安装的,懂行的可以自己选择想要的插件安装。

  • 最后一步是创建一个管理员账户,这样就不用初始密码登录了。

创建完成后,Jenkins 初始化完成,就可以后面自行体验了,以后使用本机上的Jenkins,直接通过 http://127.0.0.1:10240/访问即可。

重启电脑后,需重新执行上面的docker run 命令,把docker 运行起来。

好了,今天的内容你学会了没,觉得有用记得点在看、分享给更多人。如果在安装上有啥问题可以留言讨论 

- END -

扫码关注公众号「网管叨bi叨」

给网管个星标,第一时间吸我的知识 

好棒,测试妹子都能看懂的Jenkins Docker安装教程相关推荐

  1. php不会写 能看懂,人人都能看懂的全栈开发教程——PHP

    既然我们是要实现从数据库里读取任务列表这个需求,那么首先我们就得知道如何通过编程的方式从数据库里把数据读出来.这里我们就选 PHP 作为我们的编程语言来实现我们的想法. 为什么是 PHP 呢?主要有以 ...

  2. 小白都能看懂 XAMPP的下载安装配置详细教程(含拒绝访问坑)

    话不相瞒,当初为了在XAMPP(Apache+MySQL+PHP+PERL)里面配置phpwind,我在卸载与安装之间来回了不下10次,但是我的phpwind始终还是安装不成功,我可能是招坑体质,真的 ...

  3. 小白都能看懂的C语言入门教程

    文章目录 C语言入门教程 1. 第一个C语言程序HelloWorld 2. C语言的数据类型 3. 常量变量的使用 4. 自定义标识符#define 5. 枚举的使用 6. 字符串和转义字符 7. 判 ...

  4. nas服务器搭建 linux,小白都能看懂的NAS服务器搭建教程

    NAS即网络附加存储(NetworkAttachedStorage),通过网络提供数据访问服务. 本人不推荐自攒NAS,稳定性差,迷你主板和家用机电源不是for 24x7的. 本人也不推荐成品NAS( ...

  5. 下标索引必须为正整数类型或逻辑类型_python量化基础 | 变量和简单的数据类型,零基础都可以看懂...

    编辑 | Cowboy 校对 | 李明 来源 | 牛角财经 目的 | python量化基础 | 变量和简单的数据类型,零基础都可以看懂!!! python教程 从入门到高级(免费) 特点:案例基于金融 ...

  6. 春节充电 | 文科生都能看懂的机器学习教程:梯度下降、线性回归、逻辑回归(附动图解释)...

    来源:新智元 本文约4200字,建议阅读10+分钟. 本文浅显易懂的方式讲解机器学习,力求让没有理科背景的读者都能看懂. [ 导读 ]虽然在Coursera.MIT.UC伯克利上有很多机器学习的课程, ...

  7. 文科生都能看懂的机器学习教程:梯度下降、线性回归、逻辑回归

    来源:新智元 本文约4200字,建议阅读10+分钟. 本文浅显易懂的方式讲解机器学习,力求让没有理科背景的读者都能看懂. [ 导读 ]虽然在Coursera.MIT.UC伯克利上有很多机器学习的课程, ...

  8. 语言线性拟合线对称_文科生都能看懂的机器学习教程:梯度下降、线性回归、逻辑回归...

    [新智元导读]虽然在Coursera.MIT.UC伯克利上有很多机器学习的课程,包括吴恩达等专家课程已非常经典,但都是面向有一定理科背景的专业人士.本文试图将机器学习这本深奥的课程,以更加浅显易懂的方 ...

  9. 随机森林的特征 是放回抽样么_机器学习超详细实践攻略(10):随机森林算法详解及小白都能看懂的调参指南...

    一.什么是随机森林 前面我们已经介绍了决策树的基本原理和使用.但是决策树有一个很大的缺陷:因为决策树会非常细致地划分样本,如果决策树分得太多细致,会导致其在训练集上出现过拟合,而如果决策树粗略地划分样 ...

最新文章

  1. 函数 —— 分析命令行参数 getopt() getopt_long() getopt_long_only()
  2. RSS - 简单方便的follow资讯
  3. Chapter 3.GDI/DirectDraw Internal Data Structures
  4. 【JavaScript】图片组无缝轮播的网页编写方法
  5. Android官方技术文档翻译——Gradle 插件用户指南(5)
  6. 计算机中字符编码换算
  7. php mysql索引原理_加速PHP动态网站 关于MySQL索引分析优化
  8. 墙裂推荐 iOS 资源大全
  9. 算法:两个数的和等于指定值1. Two Sum
  10. tx2使用远程开机后分辨率不正确
  11. ChromeOS 体验
  12. LS1046A 环境搭建-LSDK快速搭建
  13. 社交规则:饭后抢着买单到底是客气还是客套?大多并不是真心的
  14. 巧妙利用工厂方法+反射+配置类解决多个同一方法不同实现
  15. MATLAB符号积分范例
  16. 在线共享音乐吧(Online Share Music Bar)解决方案
  17. PMP章节练习(第六章:项目进度管理)
  18. 赛灵思FPGA功耗实测与XPE模拟计算对比分析
  19. 利用echarts实现心形图片排列效果
  20. ROM、RAM、Flash的区别

热门文章

  1. Java并发之Condition的实现分析
  2. Shell命令-系统信息及显示之dmesg、uptime
  3. 《中国人工智能学会通讯》——11.64 基于成对约束的属性特征选择
  4. 苹果正研发类似亚马逊Echo设备 Sir更加智能化
  5. 深度解析容器化技术在广发证券交易系统的应用【转】
  6. 异常处理:你不可能总是对的 - 零基础入门学习Python032
  7. linux 的那些hung 检测机制
  8. Oracle - 安装 Oracle Database 11g Release 2
  9. 10月25日学习内容整理:数据操作:增加更新删除,单表查询操作
  10. linux系统下网络连接不上的问题