Bamboo与持续集成.docx

上传人:b****3 文档编号:5684131 上传时间:2023-05-09 格式:DOCX 页数:10 大小:502.33KB
下载 相关 举报
Bamboo与持续集成.docx_第1页
第1页 / 共10页
Bamboo与持续集成.docx_第2页
第2页 / 共10页
Bamboo与持续集成.docx_第3页
第3页 / 共10页
Bamboo与持续集成.docx_第4页
第4页 / 共10页
Bamboo与持续集成.docx_第5页
第5页 / 共10页
Bamboo与持续集成.docx_第6页
第6页 / 共10页
Bamboo与持续集成.docx_第7页
第7页 / 共10页
Bamboo与持续集成.docx_第8页
第8页 / 共10页
Bamboo与持续集成.docx_第9页
第9页 / 共10页
Bamboo与持续集成.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Bamboo与持续集成.docx

《Bamboo与持续集成.docx》由会员分享,可在线阅读,更多相关《Bamboo与持续集成.docx(10页珍藏版)》请在冰点文库上搜索。

Bamboo与持续集成.docx

Bamboo与持续集成

 

Bamboo与持续集成

一、持续集成

持续集成是一种软件开发的思想,用于应对过晚的集成所带来的合并灾难。

1.1持续集成之前

上图展示了未采用持续集成时使用分支的常规开发流程。

中间的蓝线是主分支,上面的紫线和下面的绿线是特征分支。

与分支颜色相同的方块代表一次提交。

橙色的方块代表一次合并,箭头表示合并的方向。

可以看到,在紫分支的P1-P5次提交合并到绿分支上时,需要大量的工作量处理合并时产生的问题。

这些问题可能导致之前耗费许多时间所进行的开发前功尽弃。

由于这些问题是由大规模的合并所导致的,那么容易想到一个解决办法,即使避免出现大规模合并。

持续集成便应景而生。

1.2持续集成

上图依然采用同样的例子说明持续集成思想。

可以看出,这次合并的次数大量增加,没有出现庞大的橙色方块。

三条分支基本上保持一致。

如果紫分支和绿分支的提交之间存在冲突,他们也能够尽早地发现,并交流如何解决冲突。

避免做无用功而不自知的情况。

上图展示了在实际开发中,持续集成思想是如何实现的。

首先有一个代码仓库服务器,开发者们都向这个仓库提交代码。

然后需要一个持续集成服务器执行持续集成的具体步骤。

一旦代码仓库有新的变更,便开始执行编译,执行单元测试,执行集成测试,打包等构建过程。

如果需要的话,还可以将构建制品部署到生产环境。

持续集成的形式是频繁进行构建,确保代码正常。

其本质是尽快地暴露问题。

因为问题暴露得越早,越容易修复。

二、Bamboo简介

2.1Bamboo是什么

Bamboo是一款持续集成服务器,可以用来自动化管理软件发布,创建一个持续交付流程。

持续集成是一种软件开发方法。

一旦代码提交到仓库当中,就执行构建、单元测试、集成测试,确保新的代码能够无误地集成到既有的代码之中。

持续构建提供了对于新代码质量尽可能早的错误反馈。

发布管理描述了发布软件时执行的典型步骤:

包括构建和功能测试、标记、分配版本号,在生产环境中部署并激活新版本。

2.2Bamboo解决了那些问题

如果你是单独的开发者,使用Bamboo可以给你:

●自动化并且可靠的构建和测试过程,让你专注代码

●一种管理有不同需求的构建的方式

●自动部署到服务器,比如AppStore和GooglePlay

如果你在一个团队中工作,那么除了以上的好处,使用Bamboo还意味着:

●你的构建和测试过程不依赖于你特殊的本地环境。

●构建和集成测试在开发者提交代码之后会自动触发

如果你在开发一个庞大且复杂的软件,那么除了以上好处,使用Bamboo还意味着:

●你可以通过并发优化构建性能

●你可以利用各种各样的资源

●你可以持续部署以执行验收测试

●你可以实现发布管理

2.3Bamboo是如何做到这些的

●Bamboo是一个中央管理服务器,计划和协调所有的工作

●Bamboo有针对许多类型工作的接口和插件

●Bamboo首先从你的代码仓库中获取代码

●然后Bamboo开始构建

●一旦构建完成,你拥有制品

●你可以用制品做更多的事:

⏹压缩他们并复制到其他地方

⏹将他们制作成安装包

⏹将他们安装到测试服务器上以保证一切安装正常

●Bamboo提供了一个Web程序用来进行配置和报告构建状态

2.4Bamboo需要什么

Bamboo计划和协调了构建和测试过程中的所有工作。

所以,要使用Bamboo,你需要:

●一个包含所有源代码的代码仓库

●构建脚本

●测试工具

一般而言,提交代码的人具有立即修复任何由新代码引起的构建错误的责任。

2.5Bamboo如何组织工作流

Bamboo使用了’plan’和’job’还有’tasks’这些概念来配置和组织工作流中的事件。

Project:

●有一个或多个plans

●提供project中所有plans的报告

●提供和其他软件之间的链接

Plan:

●默认有一个stage,但是可以用来将jobs分组到多个stages中

●处理一系列在同一个代码仓库上顺序运行的stages

●指定默认的仓库

●指定构建如何被触发,plans之间的触发依赖条件

●指定构建结果的通知方式

●指定谁拥有查看和配置plan以及他的jobs的权限

●提供plan变量的定义

Stage:

●默认有一个job,也可以由多个jobs组成

●在多个agents上,并行处理他的jobs

●一个stage中的所有jobs执行成功之后才能执行下一个stage

●可能生成对接下来的stage有用的制品

Job:

●在一个agent上顺序处理他的一系列task

●控制task执行的顺序

●汇集所有task的需求,用来匹配达到相应需求的agent

●定义了构建可能产生的制品

●只能使用之前的stage生成的制品

●指定构建结果和制品的标签

Task:

●是一个小而具体的工作单元,比如获取源代码,执行Mavengoal,运行脚本或者解析测试结果

●在Bamboo工作目录里顺序执行

三、Bamboo入门:

这里以Java为例说明如何使用Bamboo为你的项目运行构建并获得快速反馈。

3.1创建Project和Plan

Bambooplan指定了源码仓库,构建执行的tasks,还有触发构建的时机。

我们开始创建一个新plan:

1.使用具有创建plan权限的账号登陆到你的Bamboo服务器

2.从菜单栏中选择 Create > Createanewplan 

每个plan都属于一个project,因为我们还没有project,所以选择Project > NewProject,为project和plan输入细节

Bamboo需要知道plan的名字,plan的key和一段说明plan作用的简单描述

3.2链接代码仓库

Bamboo需要知道源码仓库的地址和能够访问仓库的权限,所以它在运行构建的时候获取源代码。

以Bitbucket为例,输入你的账号密码,点击LoadRepositories浏览你的仓库。

如果你愿意,可以链接到示例仓库atlassian_tutorial/helloworld

3.3选择构建触发方式

我们可以指定Bamboo如何触发构建。

在这里,我们让Bamboo在代码提交到仓库时就触发构建。

3.4配置tasks

每一个plan都至少有一个task。

Tasks执行真正的工作。

●Thesourcecodecheckouttask

一个新创建的plan有一个默认的获取源码task,它执行从之前定义的仓库中获取代码的任务。

●Thebuildertask

我们同样希望编译代码,执行单元和集成测试。

我们可以在Bambooplan中添加一个buildertask来执行这些任务。

我们假定你的项目已经有一个定义好的构建脚本,Bamboo可以调用这个脚本。

点击AddTask,then Builder并选择与你的构建工具符合的task。

下面是三种常见的构建方式:

注意:

⏹Bamboo服务器上必须安装好构建工具,才能执行相应的构建任务

⏹有许多适用于Bamboo的插件,让其他构建工具也能使用,比如Gant和Gradle。

●获取测试结果

你的测试将会在代码编译完成后进行。

每一个构建task都可以选择是否生成测试结果以及在哪里查看结果。

如果你的项目目录不使用传统的结构,你可以指定其他查看结果的位置。

3.5运行

启用这个plan,点击Create

你应该能看见这个plan开始运行,Bamboo会:

●链接到代码仓库

●获取源代码

●编译代码

●执行单元和集成测试

●返回测试结果

‘plansummary’会显示这次构建是成功还是失败

在正确目录里的测试会作为构建过程的一部分自动运行,测试结果将会在Bamboo中显示出来。

现在,无论你什么时候提交代码到仓库中,Bamboo都会构建你的代码并反馈测试结果。

3.6获取反馈

Bamboo在dashboard上显示了构建结果的摘要:

●plans的构建结果可以在wallboard上显示

●你可以通过email,IM和RSS获取构建结果的通知

●你可以获取plans的构建统计数据,以及开发者对代码的贡献

●你可以在结果中查看是那些代码触发了构建,以及那些执行了哪些测试

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2