DevOps 实战笔记
石雪峰
京东商城工程效率专家
37393 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 41 讲
DevOps 实战笔记
15
15
1.0x
00:00/00:00
登录|注册

27 | 巨人的肩膀:那些你不能忽视的开源工具

思考题
总结
环境管理 - Kubernetes
代码质量 - SonarQube
代码管理 - GitLab
需求管理 - Jira
不能忽视的开源工具
开源工具链平台搭建

该思维导图由 AI 生成,仅供参考

你好,我是石雪峰。
自研工具平台对公司来说是一件高成本和高投入的事情,对于技术人员的要求也非常高。很少有公司能够像 BAT 一样投入近百人的团队来开发内部系统工具,毕竟,如果没有这么大规模的团队,平台产生的收益也比较有限。
另外,也很少有公司像一些行业头部公司一样,会直接投入大量资金购买成熟的商业化工具或者通过乙方合作的方式联合共建。
这些方法的长期投入都比较大,不太适用于中小型企业。那么,有其他可以低成本、快速见效的解决方案吗?
实际上,现在的开源工具已经非常成熟了,只要稍加熟悉,就能快速地基于开源工具搭建一整套研发交付工具链平台。
几年前,我跟几个朋友利用业余时间就搭建了这样一套开源的端到端流水线解决方案。我依稀记得,这个解决方案架构图是在北京开往上海的高铁上完成的。目前,这个方案在行业内广为流传,成为了很多公司搭建自己内部工具链平台的参考资料。这个系统的架构图如下:
今天,我会基于这个解决方案,给你介绍一下研发代码提交阶段、集成测试阶段和部署发布阶段的工具使用技巧,工具选型以主流开源解决方案为主,商业工具为辅,涵盖了 Jira、GitLab、Jenkins、SonarQube 和 Kubernetes 等,希望可以手把手地帮助你快速搭建一套完整的持续交付平台。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了基于开源工具的端到端流水线解决方案,涵盖了Jira、GitLab、Jenkins、SonarQube和Kubernetes等主流开源解决方案。作者重点介绍了在Jira中的需求管理工具的使用技巧,以及在GitLab中的开发流程,包括提交阶段流水线、合并请求、代码评审和持续集成的实现。此外,还分享了Jira和开发者工具的打通操作步骤。文章还介绍了如何在Jenkins中安装GitLab插件以及如何更新GitLab的提交状态。另外,还详细介绍了SonarQube作为一个开源代码质量平台的使用方法,并指出了将SonarQube与Jenkins打通的步骤。通过实际案例和操作步骤,本文手把手地帮助读者快速搭建一套完整的持续交付平台,展现了开源工具在研发交付领域的实际应用和价值。文章还介绍了Kubernetes作为云原生时代的操作系统,以及如何在Jenkins中配置动态节点,实现环境的标准化和资源利用率的提升。最后,作者强调了在实践中多加尝试,才能在应用过程中游刃有余,并鼓励读者在留言区分享问题和思考,共同学习进步。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《DevOps 实战笔记》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(12)

  • 最新
  • 精选
  • swordman
    终于等来了工具串联环节,正是我想要的,写得非常清楚,值得收藏。还有一个问题,就是Jenkins和Jira连通的场景,能否能再分享一下。附上我们现在实现:(1)代码提交流水线失败,自动往Jira上添加一个故障,然后开发人员在开发IDE中选择这个故障,展开开发和提交工作(2)Jira任务变更为完成时,自动触发Jenkins流水线,流水线完成拉取分支代码,编译打包,自动化测试等工作,如果运行失败,则修改Jira任务状态为进行中。不知道还有哪些实用的串接场景?谢谢!

    作者回复: 你好,我非常赞同工具串联要场景化,也就是要解决实际的问题,我认为这里面包含两点: 1. 需求状态的自动同步:要解决的问题就是状态更新不及时,导致的数据度量失真,所以相比于任务完成时自动触发流水线,我认为任务完成的动作同样要做到自动化流转,比如我们就是跟提测平台打通实现的状态自动同步。 2. 需求和代码的关联打通:要实现的就是需求和代码的追溯,所以在Jira中要能查看到代码的变更,同样代码中也要关联Jira的任务编号,这对于后端测试环节非常重要。

    2019-12-19
    3
  • 鲍建飞
    最早接触的devops就是Jenkins+sonar+gitlab

    作者回复: 是的,基本上讲开源流水线都离不开这三个工具哈,可以在这个基础上进行向前和向后的延展,很多公司也是这样做的

    2019-12-26
    2
  • 似曾相识
    老师 gitlab runner 与jenkins如何选择呢?

    作者回复: 如果只是单纯使用,其实差不多,哪个用的熟练用哪个😄

    2020-05-07
    2
  • zero
    对于jenkins的使用,有一个场景需求: 有两个账号user1,user2,分别建立视图view1,view2 。user1登录只能看到view1;user2登录只能看到user2。但是,实际使用过程中发现,做不到视图隐藏。user1登录依然可以看到view2,虽然view2视图下没有任务。使用插件过滤,但是只能对任务生效,石老师是否有好的建议?

    作者回复: 我理解不应该出现这种问题呀,我明天去公司看下,你可以加我微信沟通哈,cendrier

    2020-01-02
  • Fan
    “使用 Jira 和 GitLab 的 Webhook 进行打通” 的配置链接失效了 http://confluence.gjingao.com/pages/viewpage.action?pageId=6520911
    2020-06-04
    4
    3
  • leslie
    今天的内容就是一个精简版的可以直接上手使用的DevOps:不过篇章划分感觉错了-应当是《案例总结/分析》篇之类的,一个不错的经典小型实战类项目,正找案例呢;刚好后面可以拿来可以用。 不知不觉就33讲了,好快啊;谢谢今天的分享,期待后续的内容。
    2019-12-19
    3
  • 阿卡阿卡
    Jenkins 如何跟OpenShift 打通流程呢
    2021-10-12
  • Geek_bc63a1
    石老师,有一个问题,DevOps平台的能分别在开发环境开发、测试环境测试、生产环境里面正式使用吗?我们团队目前遇到这个问题,像常规项目一样实施,需要在三个环境里面分别部署一整套所有的工具,非常麻烦,是不是必须要这样呢?
    2021-01-15
  • 王丰
    “使用 Jira 和 GitLab 的 Webhook 进行打通” 的配置链接失效了 http://confluence.gjingao.com/pages/viewpage.action?pageId=6520911
    2020-11-30
  • Geek_599062
    不错的流水线搭建介绍
    2020-08-07
收起评论
显示
设置
留言
12
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部