Bamboo与持续集成

上传人:每**** 文档编号:56244692 上传时间:2022-02-21 格式:DOCX 页数:17 大小:686.30KB
收藏 版权申诉 举报 下载
Bamboo与持续集成_第1页
第1页 / 共17页
Bamboo与持续集成_第2页
第2页 / 共17页
Bamboo与持续集成_第3页
第3页 / 共17页
资源描述:

《Bamboo与持续集成》由会员分享,可在线阅读,更多相关《Bamboo与持续集成(17页珍藏版)》请在装配图网上搜索。

1、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 持续集成之前上图展示了未采用持续集成时使用分支的常规开发流程。中间

2、的蓝线是主分支,上面的紫线和下面的绿线是特征分支。与分支颜色相同的方块代表一次提交。橙色的方块代表一次合并,箭头表示合并的方向。可以看到,在紫分支的P1-P5次提交合并到绿分支上时,需要大量的工作量处理合并时产生的问题。这些问题可能导致之前耗费许多时间所进行的开发前功尽弃。由于这些问题是由大规模的合并所导致的,那么容易想到一个解决办法,即使避免出现大规模合并。持续集成便应景而生。推荐精选1.2 持续集成上图依然采用同样的例子说明持续集成思想。可以看出,这次合并的次数大量增加,没有出现庞大的橙色方块。三条分支基本上保持一致。如果紫分支和绿分支的提交之间存在冲突,他们也能够尽早地发现,并交流如何解

3、决冲突。避免做无用功而不自知的情况。上图展示了在实际开发中,持续集成思想是如何实现的。首先有一个代码仓库服务器,开发者们都向这个仓库提交代码。然后需要一个持续集成服务器执行持续集成的具体步骤。一旦代码仓库有新的变更,便开始执行编译,执行单元测试,执行集成测试,打包等构建过程。推荐精选如果需要的话,还可以将构建制品部署到生产环境。持续集成的形式是频繁进行构建,确保代码正常。其本质是尽快地暴露问题。因为问题暴露得越早,越容易修复。推荐精选二、Bamboo简介2.1 Bamboo是什么Bamboo是一款持续集成服务器,可以用来自动化管理软件发布,创建一个持续交付流程。持续集成是一种软件开发方法。一旦

4、代码提交到仓库当中,就执行构建、单元测试、集成测试,确保新的代码能够无误地集成到既有的代码之中。持续构建提供了对于新代码质量尽可能早的错误反馈。发布管理描述了发布软件时执行的典型步骤:包括构建和功能测试、标记、分配版本号,在生产环境中部署并激活新版本。2.2 Bamboo解决了那些问题如果你是单独的开发者,使用Bamboo可以给你:l 自动化并且可靠的构建和测试过程,让你专注代码l 一种管理有不同需求的构建的方式l 自动部署到服务器,比如App Store和Google Play如果你在一个团队中工作,那么除了以上的好处,使用Bamboo还意味着:l 你的构建和测试过程不依赖于你特殊的本地环境

5、。l 构建和集成测试在开发者提交代码之后会自动触发如果你在开发一个庞大且复杂的软件,那么除了以上好处,使用推荐精选Bamboo还意味着:l 你可以通过并发优化构建性能l 你可以利用各种各样的资源l 你可以持续部署以执行验收测试l 你可以实现发布管理2.3 Bamboo是如何做到这些的l Bamboo是一个中央管理服务器,计划和协调所有的工作l Bamboo有针对许多类型工作的接口和插件l Bamboo首先从你的代码仓库中获取代码l 然后Bamboo开始构建l 一旦构建完成,你拥有制品l 你可以用制品做更多的事:n 压缩他们并复制到其他地方n 将他们制作成安装包n 将他们安装到测试服务器上以保证

6、一切安装正常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,但是可以用来

7、将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的需求,用

8、来匹配达到相应需求的agentl 定义了构建可能产生的制品l 只能使用之前的stage生成的制品l 指定构建结果和制品的标签Task:l 是一个小而具体的工作单元,比如获取源代码,执行Maven goal,运行脚本或者解析测试结果l 在Bamboo工作目录里顺序执行推荐精选推荐精选三、Bamboo入门:这里以Java为例说明如何使用Bamboo为你的项目运行构建并获得快速反馈。3.1 创建Project和PlanBamboo plan 指定了源码仓库,构建执行的tasks,还有触发构建的时机。我们开始创建一个新plan:1. 使用具有创建plan权限的账号登陆到你的Bamboo服务器2. 从菜

9、单栏中选择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 选

10、择构建触发方式我们可以指定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 T

11、ask, thenBuilder并选择与你的构建工具符合的task。下面是三种常见的构建方式:推荐精选注意:n Bamboo服务器上必须安装好构建工具,才能执行相应的构建任务n 有许多适用于Bamboo的插件,让其他构建工具也能使用,比如Gant和Gradle。l 获取测试结果你的测试将会在代码编译完成后进行。每一个构建task都可以选择是否生成测试结果以及在哪里查看结果。如果你的项目目录不使用传统的结构,你可以指定其他查看结果的位置。推荐精选3.5 运行启用这个plan,点击Create你应该能看见这个plan开始运行,Bamboo会:l 链接到代码仓库l 获取源代码l 编译代码l 执行单元

12、和集成测试l 返回测试结果plan summary会显示这次构建是成功还是失败在正确目录里的测试会作为构建过程的一部分自动运行,测试结果将会在Bamboo中显示出来。现在,无论你什么时候提交代码到仓库中,Bamboo都会构建你的代码并反馈测试结果。3.6 获取反馈Bamboo在dashboard上显示了构建结果的摘要:l plans的构建结果可以在wallboard上显示l 你可以通过email, IM和RSS获取构建结果的通知推荐精选l 你可以获取plans的构建统计数据,以及开发者对代码的贡献l 你可以在结果中查看是那些代码触发了构建,以及那些执行了哪些测试lll l (注:可编辑下载,若有不当之处,请指正,谢谢!)lll l ll推荐精选

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!