持续交付36讲
王潇俊
携程系统研发部总监
立即订阅
7125 人已学习
课程目录
已完结 41 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 量身定制你的持续交付体系
免费
基本概念 (3讲)
01 | 持续交付到底有什么价值?
02 | 影响持续交付的因素有哪些?
03 | 持续交付和DevOps是一对好基友
配置管理 (4讲)
04 | 一切的源头,代码分支策略的选择
05 | 手把手教你依赖管理
06 | 代码回滚,你真的理解吗?
07 |  “两个披萨”团队的代码管理实际案例
环境管理 (6讲)
08 | 测试环境要多少?从现实需求说起
09 | 测试环境要多少?从成本与效率说起
10 | 让环境自己说话,论环境自描述的重要性
11 | “配置”是把双刃剑,带你了解各种配置方法
12 | 极限挑战,如何做到分钟级搭建环境?
13 | 容器技术真的是环境管理的救星吗?
构建集成 (5讲)
14 | 如何做到构建的提速,再提速!
15 | 构建检测,无规矩不成方圆
16 | 构建资源的弹性伸缩
17 | 容器镜像构建的那些事儿
18 | 如何做好容器镜像的个性化及合规检查?
发布及监控 (6讲)
19 | 发布是持续交付的最后一公里
20 | Immutable!任何变更都需要发布
21 | 发布系统一定要注意用户体验
22 | 发布系统的核心架构和功能设计
23 | 业务及系统架构对发布的影响
24 | 如何利用监控保障发布质量?
测试管理 (3讲)
25 | 代码静态检查实践
26 | 越来越重要的破坏性测试
27 | 利用Mock与回放技术助力自动化回归
持续交付平台化 (3讲)
28 | 持续交付为什么要平台化设计?
29 | 计算资源也是交付的内容
30 | 持续交付中有哪些宝贵数据?
持续交付移动App (3讲)
31 | 了解移动App的持续交付生命周期
32 | 细谈移动APP的交付流水线(pipeline)
33 | 进阶,如何进一步提升移动APP的交付效率?
实践案例 (4讲)
34 | 快速构建持续交付系统(一):需求分析
35 | 快速构建持续交付系统(二):GitLab 解决代码管理问题
36 | 快速构建持续交付系统(三):Jenkins 解决集成打包问题
37 | 快速构建持续交付系统(四):Ansible 解决自动部署问题
特别放送 (2讲)
持续交付专栏特别放送 | 答疑解惑
持续交付专栏特别放送 | 高效学习指南
结束语 (1讲)
结束语 | 越痛苦的事,越要经常做
持续交付36讲
登录|注册

36 | 快速构建持续交付系统(三):Jenkins 解决集成打包问题

王潇俊 2018-09-25
在上一篇文章中, 我和你一起利用开源代码平台 GitLab 和代码静态检查平台 SonarQube 实现了代码管理平台的需求。那么,我今天这篇文章的目的,就是和你一起动手基于 Jenkins 搭建集成与编译相关的系统。

Jenkins 的安装与配置

Jenkins 这个开源项目,提供的是一种易于使用的持续集成系统,将开发者从繁杂的集成工作中解脱了出来,使得他们可以专注于更重要的业务逻辑实现。同时,Jenkins 还能实时监控集成环境中存在的错误,提供详细的日志文件和提醒功能,并以图表的形式形象地展示项目构建的趋势和稳定性。
因此,在携程,我们选择 Jenkins 作为了代码构建平台。而为了用户体验的一致性,以及交付的标准化,携程针对 Java、.net 等用到的主要语言,为开发人员封装了对于 Jenkins 的所有操作,并在自研的持续交付平台中实现了整个持续交付的工作流。
而如果是第一次搭建持续交付系统,我建议你不用像携程这样进行二次开发,因为 Jenkins 本身就可以在持续交付的构建、测试、发布流程中发挥很大的作用,完全可以满足你的搭建需求。而且,它提供的 Pipeline 功能,也可以很好地驱动整个交付过程。
所以,在这篇文章中,我就以 Jenkins 为载体,和你分享如何搭建集成与编译系统。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《持续交付36讲》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(9)

  • 长歌
    老师,merge request事件checkout源分支是怎么做到的,基于branchName配置不是只能指定规则内的分支么,build时会构建所有符合规则的分支,而不是提交merge request请求的分支?
    2018-10-12
    1
  • Mr.Difference
    这才是干活。可惜结束了。

    作者回复: 其实我倒不这么认为,绝大部分内容在官方文档都有,而且更详细。搭建系统应该说是最不困难的事

    反而是完成搭建基本工具后,真正去深入了,就会碰到之前文章的内容,届时,希望你能再往前翻翻,寻找合适的答案:)

    2018-09-25
    1
    1
  • Linton
    关于统一的版本号,能详细的说说吗?我一直有这方面的疑惑
    2019-12-01
  • 牧野
    单元测试和自动化测试是否需要单独部署到一套服务来应对频繁提交,功能测试另外有其他服务完成,人为控制功能测试部署的频率来保证功能测试的流畅和质量
    2019-06-19
  • 帅气小黑
    统一版本号这块有啥好的方案啊?

    作者回复: 我们是在平台上产生的版本号,由平台控制

    2018-11-28
  • 骨汤鸡蛋面
    老师,我们这边使用jenkins pipeline 串联了拉代码、maven编译、制作镜像、触发k8s调度等,但带来的问题是,发布高峰期jenkins 拥堵,若是采用容器化的方式将jenkins 容器化,又会带来拉取maven缓存、及缓存不一致的问题。所以一直有冲动使用google jib 等方式,将代码到镜像一步到位,您怎么看?

    作者回复: 可以参考专栏里,构建加速那篇,有讲到这个问题的

    2018-10-30
  • knightray
    请教一个问题。在Jenkins Pipeline的实践中,每次Merge Request都会触发一次构建,开发团队在bug修改中会频繁提交代码,比如一个20多个开发团队一天可能要提交50多次代码。如果每次提交都会触发自动构建,是否意味着每次都会自动部署到测试环境,那这样过于频繁的自动部署不是会干扰到测试同学的测试吗?请指教,谢谢。

    作者回复: 这个问题还是要回到本源的代码分支上来说,master是用来合并发布测试的,feature分支是功能开发和测试的,完全可以先功能发布测试,再master集成测试.这样master的部署就减少了,也稳定.也是为什么会有fat和uat两套环境的原因

    2018-10-06
  • 铭熙
    Jenkins master的ha,走sharding的话用什么策略呢?按部门?按应用类型?求详细的方案,谢谢。

    作者回复: 都可以的,注意避免热点就可以了

    2018-09-26
  • 铭熙
    Jenkins高可用有什么好的方案?

    作者回复: Jenkins本身就是master slave架构,只要保证master的ha就可以了,比较简单,sharding,热备都可以,携程是docker+sharding,master可以有多个,slave是按需拉起实例

    2018-09-26
收起评论
9
返回
顶部