它们还提供了一个警告:如果您能够持续部署到测试系统,有时也会使用术语“持续部署”。
这一切让我很困惑。任何更详细的解释(或附带一个例子)都是赞赏的!
我同意你们大学的定义。持续集成是一种开发人员如何将代码持续集成到主线的策略--而不是频繁地集成。
您可能会声称它只是版本控制系统中的一个分支策略。
它与您分配给开发人员的任务大小有关;如果一个任务估计需要4-5个人工日,那么开发人员在接下来的4-5天内就没有动力交付任何东西,因为他还没有完成任何东西。
small task = continuous integration
big task = frequent integration
连续投放范围内基本有三所学校:
持续交付是持续集成的自然延伸
这个学派,看了Addison-Wesley的“Martin Fowler”签名系列,并假设2007年的版本被称为“持续集成”,2011年的版本被称为“持续交付”,它们很可能是同一个概念思想的1+2卷,与持续的东西有关。
在敏捷宣言中,“持续交付”这一术语首次被实际使用,抵消了第一个原则:
我们的最高优先事项是通过早期和持续交付有价值的软件来满足客户。
这个学派声称“持续交付”是一种范例,它包含了实现“完成定义”的自动化验证所需的一切。
这一学派认为“持续交付”和流行词或大趋势“DevOps”是同一枚硬币的两面,从这一意义上说,它们都试图拥抱或封装这种新的范例或方法,而不仅仅是一种技术。
当开发人员手中的东西准备就绪时,它就会立即交付给最终用户,这在大多数情况下意味着它应该部署到生产环境中。因此“部署”和“交付”的意思是相同的。
你的大学显然加入了第一个学校,并声称我们指的是同一系列出版物的第1+2卷。我的意见是,这是对持续交付一词的误用。
我个人提倡这样一种理解,即持续交付与实现敏捷运动所陈述的思想和概念的实际支持有关。所以我加入了一个学派,认为这个术语包含了一个完整的范式--类似于“DevOps”。
持续部署并不是每个人都感兴趣的事情,这一事实也是一个论点,即声称“交付”和“部署”是同义词的学派完全搞错了。因为连续交付实际上对每个人都有很好的意义--即使你正在做设备中的嵌入式软件或者为一个框架发布开源插件。
你们大学的定义是,持续部署是持续交付的自然的下一步,这一定义隐含地假定每一个被Qa'ed的交付都应该立即可供最终用户使用,这更接近于我的部落用来描述术语“持续发布”的定义,而这反过来也是另一个对每个人来说都不具有一般意义的概念。
发布可以是一个非常战略性或政治性的事情,没有理由假设每个人都想一直这么做(除非他们是在线书店、流媒体服务类型的公司)。然而,那些不总是盲目地发布所有内容的公司可能有很多理由希望成为部署的主人,因此他们也会进行连续部署。不是发布到生产,而是发布到类似生产的环境。
我再一次相信你的大学弄错了。他们正在把“持续部署”误认为“持续释放”。
持续部署只是一种规律,即能够持续地将开发过程的结果移动到类似于生产的环境中,在这种环境中,功能测试可以全面地执行。
在这张照片中,一切都变得生动起来:
交付管道的建立和自动化是持续交付的基础 持续集成 更关注代码质量。持续集成是为了确保随着需求变化而变化的代码,在实现功能的同时,质量不受影响。因此,在每一次构建后会运行单元测试,保证代码级的质量。单元测试会针对每一个特定的输入去判断和观察输出的结果,而单元测试的粒度则用来平衡持续集成的质量和速度。 持续集成的核心价值在于1: 持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重
translated_page: https://github.com/PX4/Devguide/blob/master/en/test_and_ci/continous_integration.md translated_sha: 95b39d747851dd01c1fe5d36b24e59ec865e323e PX4 Continuous Integration PX4 builds and
我们做的还不够好,先占个坑。 欢迎贡献章节。
注意有关编写测试的建议, 请参阅 Testing Your Code. Why? 与 Kent Beck 一起撰写关于 持续集成 (简称 : CI ) 的 Martin Fowler 对 CI 进行了如下的描述: 持续集成是一种软件开发实践,团队成员经常整合他们的工作,通常每个人至少每天集成一次 - 导致每天进行多次集成。 每个集成都通过自动构建(包括测试)进行验证,以尽快检测集成错误。 许多团队
对应于 Ruby 的一个或多个版本,你很轻松就可以测试你的网站构建。以下指引将展示怎样在 Travis 上建立一个免费的,集成了处理 pull 请求的 GitHub 的构建环境。如果你使用私有代码库的话,也有相应的付费选择。 1. 启用 Travis 以及 Github 启用 Travis 来构建你的 Github 代码库非常简单: 前往你在 travis-ci.org 的个人档案: https:
持续集成的目的,是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。由于我们的代码托管在github上面,所以选择Travis CI来做持续集成是一个不错的选择。 要触发构建工作,需要在项目根目录下面添加一个.travis.yml的文件: sudo: required services: - docker e