美文网首页持续集成
1. 持续集成初步

1. 持续集成初步

作者: quitus | 来源:发表于2017-02-13 13:11 被阅读76次

文章已经迁移到我的个人博客,里面还有更多内容。

1. 持续集成初步

什么是持续集成

持续集成(Continuous integration, CI),频繁地(一天多次)将代码集成到共享的代码仓库。

Martin Fowler对持续集成是这样定义的:持续集成是一种软件开发实践,即团队开发成员频繁地集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。持续集成并不能消除Bug,而是让它们非常容易发现和改正[1]

它的好处主要有两个[2]

  1. 快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易。
  2. 防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成

持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。

它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。

与持续集成相关的,还有两个概念,分别是持续交付和持续部署。

持续交付

持续交付(Continuous delivery)指的是,频繁地将软件的新版本,交付给质量团队或者用户,以供评审。如果评审通过,代码就进入生产阶段。
持续交付可以看作持续集成的下一步。它强调的是,不管怎么更新,软件是随时随地可以交付的。

持续部署

持续部署(continuous deployment)是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境。
持续部署的目标是,代码在任何时刻都是可部署的,可以进入生产阶段。
持续部署的前提是能自动化完成测试、构建、部署等步骤。

三者关系

本系列目的

在借鉴从0到1搭建移动App功能自动化测试平台的基础上,搭建适合自己使用的App及网站测试平台。
本系列还将使用Appium,rails等服务。总体系统系统构建思路将在未来补上。

集成.png

使用Jenkins做持续集成

持续集成的工具有很多,想要了解具体情况可以参考Comparison of continuous integration software,这里不做更过介绍,而是直接使用Jenkins。

Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:

  1. 持续的软件版本发布/测试项目。
  2. 监控外部调用执行的工作。

Jenkins在持续集成中的位置

introduction-to-jenkins-7-638.jpg

安装及初始化

  1. 下载jenkins war文件:https://jenkins.io/
jenkins.png
  1. 运行:java -jar jenkins.war
  2. 登录:http://0.0.0.0:8080/
  3. 根据提示进行设置。具体为:根据提示,找到生成的随机密码,复制下来,粘贴到密码框,点击确定。c1ea9eccb8ea49ef9f4bdab2e236f41b
  4. 安装或者不安装推荐的插件,都可以。
  5. 如果提示要注册用户,注册即可。我没有选择任何插件,进入了admin用户
main.png

)

修改管理员账户密码

页面右上角点击用户名,下拉菜单,选择设置

修改密码,方便以后管理和维护

4.png

配置文件位置

Mac:~/.jenkins
也可以通过:系统管理 -> 系统设置 查看

修改配置文件位置?

不管为什么,我想要修改配置文件位置怎么办?

  1. 将原始位置的所有文件复制到新的位置
  2. 修改环境变量
    • mac

      打开~/.bash_profile,添加:

      # 根据自己要求修改
      export JENKINS_HOME=/path/to/jenkins_home/
      

      然后terminal中

      $ source ~/.bash_profile
      
    • win

win.png
  1. http://baike.baidu.com/view/5253255.htm

  2. http://www.ruanyifeng.com/blog/2015/09/continuous-integration.html

相关文章

  • 1. 持续集成初步

    文章已经迁移到我的个人博客,里面还有更多内容。 1. 持续集成初步 什么是持续集成 持续集成(Continuous...

  • 持续集成之Jenkins初探

    1.持续集成 1.1持续集成的定义 持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天...

  • 《持续交付》导读问题列表五

    1.持续集成和持续交付关注对象分别是谁? 持续集成的关注对象是开发团队,持续集成系统的输出通常是手工测试和后续发布...

  • iOS开发个推集成中的注意点(手动集成)

    一、个推的集成 1.个推的集成可以参考个推的集成文档。 2.初步集成的代码如下: APPDelegate.h AP...

  • iOS Jenkins+ cocoapods + fastlan

    iOS 脚本自动化打包 1.为什么需要持续集成(Continuous Integration)CI 2.持续化集成...

  • 持续集成

    持续集成 1. 介绍 简介持续集成,Continuous integration ,简称CI。随着软件开发复杂度的...

  • Jenkins简介和使用

    1.持续性集成 持续集成:Continuous Integration,简称CI,意思是,在一个项目中,任何人对代...

  • 腾讯 coding 持续集成 Hexo 博客

    持续集成服务器就是能够采用自动化的手段,来解放人的双手,实现项目持续集成的工具。 持续集成的优势1.解放了重复性劳...

  • 《使用 CODING 进行 SpringBoot 项目的持续集成

    《使用 CODING 进行 SpringBoot 项目的持续集成》 持续集成的概念 持续集成(Continuous...

  • GitLab-Docker-GitLabRunner之持续集成

    1. 持续集成的基本概念 持续集成指的是,频繁地(一天多次)将代码集成到主干。它的好处主要有两个: 快速发现错误。...

网友评论

    本文标题:1. 持续集成初步

    本文链接:https://www.haomeiwen.com/subject/wwizittx.html