




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品Bamboo与持续集成感谢下载载目录一、持续集成21.1持续集成之前21.2持续集成2二、Bamboo简介22.1 Bamboo是什么22.2 Bamboo解决了那些问题22.3 Bamboo是如何做到这些的22.4 Bamboo需要什么22.5 Bamboo如何组织工作流2三、Bamboo入门:23.1 创建Project和Plan23.2 链接代码仓库23.3 选择构建触发方式23.4 配置tasks23.5 运行23.6 获取反馈2一、持续集成持续集成是一种软件开发的思想,用于应对过晚的集成所带来的合并灾难。1.1 持续集成之前上图展示了未采用持续集成时使用分支的常规开发流程。中间的蓝线是主分支,上面的紫线和下面的绿线是特征分支。与分支颜色相同的方块代表一次提交。橙色的方块代表一次合并,箭头表示合并的方向。可以看到,在紫分支的P1-P5次提交合并到绿分支上时,需要大量的工作量处理合并时产生的问题。这些问题可能导致之前耗费许多时间所进行的开发前功尽弃。由于这些问题是由大规模的合并所导致的,那么容易想到一个解决办法,即使避免出现大规模合并。持续集成便应景而生。1.2 持续集成上图依然采用同样的例子说明持续集成思想。可以看出,这次合并的次数大量增加,没有出现庞大的橙色方块。三条分支基本上保持一致。如果紫分支和绿分支的提交之间存在冲突,他们也能够尽早地发现,并交流如何解决冲突。避免做无用功而不自知的情况。上图展示了在实际开发中,持续集成思想是如何实现的。首先有一个代码仓库服务器,开发者们都向这个仓库提交代码。然后需要一个持续集成服务器执行持续集成的具体步骤。一旦代码仓库有新的变更,便开始执行编译,执行单元测试,执行集成测试,打包等构建过程。如果需要的话,还可以将构建制品部署到生产环境。持续集成的形式是频繁进行构建,确保代码正常。其本质是尽快地暴露问题。因为问题暴露得越早,越容易修复。二、Bamboo简介2.1 Bamboo是什么Bamboo是一款持续集成服务器,可以用来自动化管理软件发布,创建一个持续交付流程。持续集成是一种软件开发方法。一旦代码提交到仓库当中,就执行构建、单元测试、集成测试,确保新的代码能够无误地集成到既有的代码之中。持续构建提供了对于新代码质量尽可能早的错误反馈。发布管理描述了发布软件时执行的典型步骤:包括构建和功能测试、标记、分配版本号,在生产环境中部署并激活新版本。2.2 Bamboo解决了那些问题如果你是单独的开发者,使用Bamboo可以给你:l 自动化并且可靠的构建和测试过程,让你专注代码l 一种管理有不同需求的构建的方式l 自动部署到服务器,比如App Store和Google Play如果你在一个团队中工作,那么除了以上的好处,使用Bamboo还意味着:l 你的构建和测试过程不依赖于你特殊的本地环境。l 构建和集成测试在开发者提交代码之后会自动触发如果你在开发一个庞大且复杂的软件,那么除了以上好处,使用Bamboo还意味着:l 你可以通过并发优化构建性能l 你可以利用各种各样的资源l 你可以持续部署以执行验收测试l 你可以实现发布管理2.3 Bamboo是如何做到这些的l Bamboo是一个中央管理服务器,计划和协调所有的工作l Bamboo有针对许多类型工作的接口和插件l Bamboo首先从你的代码仓库中获取代码l 然后Bamboo开始构建l 一旦构建完成,你拥有制品l 你可以用制品做更多的事:n 压缩他们并复制到其他地方n 将他们制作成安装包n 将他们安装到测试服务器上以保证一切安装正常l Bamboo提供了一个Web程序用来进行配置和报告构建状态2.4 Bamboo需要什么Bamboo计划和协调了构建和测试过程中的所有工作。所以,要使用Bamboo,你需要:l 一个包含所有源代码的代码仓库l 构建脚本l 测试工具一般而言,提交代码的人具有立即修复任何由新代码引起的构建错误的责任。2.5 Bamboo如何组织工作流Bamboo使用了plan和job还有tasks这些概念来配置和组织工作流中的事件。Project:l 有一个或多个plansl 提供project中所有plans的报告l 提供和其他软件之间的链接Plan:l 默认有一个stage,但是可以用来将jobs分组到多个stages中l 处理一系列在同一个代码仓库上顺序运行的stagesl 指定默认的仓库l 指定构建如何被触发,plans之间的触发依赖条件l 指定构建结果的通知方式l 指定谁拥有查看和配置plan以及他的jobs的权限l 提供plan变量的定义Stage:l 默认有一个job,也可以由多个jobs组成l 在多个agents上,并行处理他的jobsl 一个stage中的所有jobs执行成功之后才能执行下一个stagel 可能生成对接下来的stage有用的制品Job:l 在一个agent上顺序处理他的一系列taskl 控制task执行的顺序l 汇集所有task的需求,用来匹配达到相应需求的agentl 定义了构建可能产生的制品l 只能使用之前的stage生成的制品l 指定构建结果和制品的标签Task:l 是一个小而具体的工作单元,比如获取源代码,执行Maven goal,运行脚本或者解析测试结果l 在Bamboo工作目录里顺序执行三、Bamboo入门:这里以Java为例说明如何使用Bamboo为你的项目运行构建并获得快速反馈。3.1 创建Project和PlanBamboo plan 指定了源码仓库,构建执行的tasks,还有触发构建的时机。我们开始创建一个新plan:1. 使用具有创建plan权限的账号登陆到你的Bamboo服务器2. 从菜单栏中选择CreateCreate a new plan每个plan都属于一个project,因为我们还没有project,所以选择ProjectNew Project,为project和plan输入细节Bamboo需要知道plan的名字,plan的key和一段说明plan作用的简单描述3.2 链接代码仓库Bamboo需要知道源码仓库的地址和能够访问仓库的权限,所以它在运行构建的时候获取源代码。以Bitbucket为例,输入你的账号密码,点击Load Repositories浏览你的仓库。如果你愿意,可以链接到示例仓库atlassian_tutorial/helloworld3.3 选择构建触发方式我们可以指定Bamboo如何触发构建。在这里,我们让Bamboo在代码提交到仓库时就触发构建。3.4 配置tasks每一个plan都至少有一个task。Tasks执行真正的工作。l The source code checkout task一个新创建的plan有一个默认的获取源码task,它执行从之前定义的仓库中获取代码的任务。l The builder task我们同样希望编译代码,执行单元和集成测试。我们可以在Bamboo plan中添加一个builder task来执行这些任务。我们假定你的项目已经有一个定义好的构建脚本,Bamboo可以调用这个脚本。点击Add Task, thenBuilder并选择与你的构建工具符合的task。下面是三种常见的构建方式:注意:n Bamboo服务器上必须安装好构建工具,才能执行相应的构建任务n 有许多适用于Bamboo的插件,让其他构建工具也能使用,比如Gant和Gradle。l 获取测试结果你的测试将会在代码编译完成后进行。每一个构建task都可以选择是否生成测试结果以及在哪里查看结果。如果你的项目目录不使用传统的结构,你可以指定其他查看结果的位置。3.5 运行启用这个plan,点击Create你应该能看见这个plan开始运行,Bamboo会:l 链接到代码仓库l 获取源代码l 编译代码l 执行单元和集成测试l 返回测试结果plan summary会显示这次构建是成功还是失败在正确目录里的测试会作为构建过程的一部分自动运行,测试结果将会在Bamboo中显示出来。现在,无论你什么时候提交代码到仓库中,Bamboo都会构建你的代码并反馈测试结果。3.6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省【中职专业高考】2025年中职高考对口升学(理论考试)真题卷【土木建筑大类】模拟练习
- 2025年春季黑龙江大庆油田有限责任公司高校毕业生招聘50人考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025湖南泸溪县汇金产业投资集团有限公司招聘工作人员拟聘用人员考前自测高频考点模拟试题及答案详解(考点梳理)
- IG8-生命科学试剂-MCE
- 2025年河北唐山市直属公立医院第一次公开选聘工作人员18名模拟试卷带答案详解
- 2025广东广州市中山大学孙逸仙纪念医院耳鼻喉科医技岗位招聘1人考前自测高频考点模拟试题及完整答案详解
- 安全培训效果测验课件
- 2025湖南开放大学高层次人才公开招聘25人模拟试卷及答案详解(全优)
- 2025福建福州罗源县卫健系统事业单位招聘控制数12人模拟试卷(含答案详解)
- 行政事务处理流程模板与指南
- 基于3D视觉引导的工业机器人轮胎装配线设计
- 宠物托养创新创业路演
- 机关健康知识讲座
- 独角抱杆立杆施工方案
- 利用AI技术提升初中语文写作教学效果的实践课题申报书
- 2025年教育督导责任督学培训心得体会与收获
- 《FABE销售法则》课件
- 卫星网络管理与运维-深度研究
- 高纯石英砂提纯研究以及项目可行性分析报告
- 2025年临床医师定期考核必考复习题库及答案(1060题)
- 小学生防校园欺凌课件
评论
0/150
提交评论