版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精品Bamboo与持续集成感谢下载载精品目录一、持续集成31.1持续集成之前31.2持续集成4二、 Bamboo简介62.1 Bamboo是什么62.2 Bamboo解决了那些问题62.3 Bamboo是如何做到这些的72.4 Bamboo需要什么72.5 Bamboo如何组织工作流8三、 Bamboo入门:113.1 创建 Project 和 Plan113.2 链接代码仓库123.3 选择构建触发方式123.4 配置 tasks133.5 运行153.6 获取反馈15感谢下载载精品一、持续集成持续集成是一种软件开发的思想,用于应对过晚的集成所带来的合并灾难。1.1 持续集成之前上图展示了未
2、采用持续集成时使用分支的常规开发流程。 中间的蓝线是主分支,上面的紫线和下面的绿线是特征分支。 与分支颜色相同的方块代表一次提交。橙色的方块代表一次合并, 箭头表示合并的方向。可以看到,在紫分支的 P1-P5 次提交合并到绿分支上时,需要大量的工作量处理合并时产生的问题。 这些问题可能导致之前耗费许多时间所进行的开发前功尽弃。由于这些问题是由大规模的合并所导致的, 那么容易想到一个解决办法,即使避免出现大规模合并。持续集成便应景而生。感谢下载载精品1.2 持续集成上图依然采用同样的例子说明持续集成思想。 可以看出,这次合并的次数大量增加,没有出现庞大的橙色方块。 三条分支基本上保持一致。如果紫
3、分支和绿分支的提交之间存在冲突,他们也能够尽早地发现,并交流如何解决冲突。避免做无用功而不自知的情况。上图展示了在实际开发中, 持续集成思想是如何实现的。 首先有一个代码仓库服务器, 开发者们都向这个仓库提交代码。 然后需要一个持续集成服务器执行持续集成的具体步骤。一旦代码仓库有新的变更,便开始执行编译,执行单元测试,执行集成测试,打包等构建过程。感谢下载载精品如果需要的话,还可以将构建制品部署到生产环境。持续集成的形式是频繁进行构建,确保代码正常。 其本质是尽快地暴露问题。因为问题暴露得越早,越容易修复。感谢下载载精品二、 Bamboo简介2.1 Bamboo是什么Bamboo是一款持续集成
4、服务器,可以用来自动化管理软件发布,创建一个持续交付流程。持续集成是一种软件开发方法。一旦代码提交到仓库当中, 就执行构建、单元测试、 集成测试,确保新的代码能够无误地集成到既有的代码之中。持续构建提供了对于新代码质量尽可能早的错误反馈。发布管理描述了发布软件时执行的典型步骤:包括构建和功能测试、标记、分配版本号,在生产环境中部署并激活新版本。2.2 Bamboo解决了那些问题如果你是单独的开发者,使用Bamboo可以给你:自动化并且可靠的构建和测试过程,让你专注代码一种管理有不同需求的构建的方式自动部署到服务器,比如App Store和 Google Play如果你在一个团队中工作,那么除了
5、以上的好处,使用Bamboo还意味着:你的构建和测试过程不依赖于你特殊的本地环境。构建和集成测试在开发者提交代码之后会自动触发如果你在开发一个庞大且复杂的软件,那么除了以上好处,使用Bamboo还意味着:感谢下载载精品你可以通过并发优化构建性能你可以利用各种各样的资源你可以持续部署以执行验收测试你可以实现发布管理2.3 Bamboo是如何做到这些的Bamboo是一个中央管理服务器,计划和协调所有的工作Bamboo有针对许多类型工作的接口和插件Bamboo首先从你的代码仓库中获取代码然后 Bamboo开始构建一旦构建完成,你拥有制品你可以用制品做更多的事:压缩他们并复制到其他地方将他们制作成安装
6、包将他们安装到测试服务器上以保证一切安装正常Bamboo提供了一个 Web 程序用来进行配置和报告构建状态2.4 Bamboo需要什么Bamboo计划和协调了构建和测试过程中的所有工作。所以,要使用 Bamboo ,你需要:一个包含所有源代码的代码仓库构建脚本感谢下载载精品测试工具一般而言,提交代码的人具有立即修复任何由新代码引起的构建错误的责任。2.5 Bamboo如何组织工作流Bamboo使用了 plan 和job 还有 tasks 这些概念来配置和组织工作流中的事件。Project :有一个或多个 plans提供 project中所有 plans 的报告提供和其他软件之间的链接Plan:
7、默认有一个 stage ,但是可以用来将jobs 分组到多个 stages中处理一系列在同一个代码仓库上顺序运行的 stages 指定默认的仓库指定构建如何被触发, plans 之间的触发依赖条件指定构建结果的通知方式指定谁拥有查看和配置 plan 以及他的 jobs 的权限提供 plan 变量的定义Stage:默认有一个 job ,也可以由多个jobs 组成感谢下载载精品在多个 agents 上,并行处理他的jobs一个 stage 中的所有 jobs执行成功之后才能执行下一个stage可能生成对接下来的stage 有用的制品Job:在一个 agent 上顺序处理他的一系列 task 控制
8、task 执行的顺序汇集所有 task 的需求,用来匹配达到相应需求的 agent 定义了构建可能产生的制品只能使用之前的stage 生成的制品指定构建结果和制品的标签Task:是一个小而具体的工作单元,比如获取源代码,执行 Maven goal ,运行脚本或者解析测试结果在 Bamboo 工作目录里顺序执行感谢下载载精品感谢下载载精品三、 Bamboo入门:这里以 Java 为例说明如何使用Bamboo 为你的项目运行构建并获得快速反馈。3.1创建 Project和 PlanBamboo plan指定了源码仓库,构建执行的tasks ,还有触发构建的时机。我们开始创建一个新plan :1.
9、使用具有创建 plan 权限的账号登陆到你的 Bamboo 服务器2. 从菜单栏中选择 Create > Create a new plan每个 plan 都属于一个 project ,因为我们还没有 project ,所以选择 Project > New Project ,为 project 和 plan 输入细节Bamboo需要知道 plan 的名字,plan 的 key 和一段说明 plan 作用的简单描述感谢下载载精品3.2链接代码仓库Bamboo需要知道源码仓库的地址和能够访问仓库的权限,所以它在运行构建的时候获取源代码。以 Bitbucket为例,输入你的账号密码,点击
10、 Load Repositories浏览你的仓库。如果你愿意,可以链接到示例仓库atlassian_tutorial/helloworld3.3选择构建触发方式我们可以指定 Bamboo如何触发构建。 在这里,我们让 Bamboo在代码提交到仓库时就触发构建。感谢下载载精品3.4配置 tasks每一个 plan 都至少有一个 task 。 Tasks 执行真正的工作。The source code checkout task一个新创建的plan有一个默认的获取源码task ,它执行从之前定义的仓库中获取代码的任务。The builder task我们同样希望编译代码,执行单元和集成测试。我们可
11、以在Bambooplan 中添加一个 buildertask 来执行这些任务。我们假定你的项目已经有一个定义好的构建脚本,Bamboo可以调用这个脚本。点击AddTask , then Builder并选择与你的构建工具符合的task 。下面是三种常见的构建方式:感谢下载载精品注意:Bamboo服务器上必须安装好构建工具,才能执行相应的构建任务有许多适用于Bamboo的插件,让其他构建工具也能使用,比如 Gant 和 Gradle 。获取测试结果你的测试将会在代码编译完成后进行。每一个构建 task 都可以选择是否生成测试结果以及在哪里查看结果。如果你的项目目录不使用传统的结构,你可以指定其他查看结果的位置。感谢下载载精品3.5运行启用这个 plan ,点击 Create你应该能看见这个plan 开始运行, Bamboo会:链接到代码仓库获取源代码编译代码执行单元和集成测试返回测试结果plan summary会显示这次构建是成功还是失败在正确目录里的测试会作为构建过程的一部分自动运行,测试结果将会在 Bamboo中显示出来。现在,无论你什么时候提交代码到仓库中,Bamboo都会构建你的代码并反馈测试结果。3.6获取反馈
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电气课程设计报告论文
- 零售贷款合同三篇
- 道路工程师工作总结
- 妇产科护士工作总结
- 门诊部医生团队近期工作总结
- 2023-2024学年重庆市七校联盟高一(下)期中语文试卷
- 教材选用与内容审定计划
- 包装设计师的主要职责
- 医疗行业顾问工作概述
- 【八年级下册地理粤教版】7.4 北京市 同步练习
- 酒店员工培训方案(3篇)
- 2024版光伏发电项目承包经营权转让合同范本3篇
- 2024年协会工作计划范例(2篇)
- 内蒙古自治区赤峰市2024-2025学年高三上学期11月期中物理试题(解析版)
- 广州广东广州市海珠区瑞宝街招聘雇员9人笔试历年参考题库频考点试题附带答案详解
- 国家开放大学电大临床药理学形考任务1-3参考答案
- 2024年人教版七年级下册英语期末综合检测试卷及答案
- 2025年高中政治学业水平考试时政考点归纳总结(复习必背)
- 统编版(2024新版)七年级下册道德与法治期末复习背诵知识点提纲
- 房屋市政工程生产安全重大事故隐患判定标准(2024版)宣传画册
- 老旧小区改造工程安全管理体系管理制度及措施
评论
0/150
提交评论