CI,ContinuousIntegration
持续集成是指不断整合项目更改并进行相应的测试,通常每天至少进行一次。持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。
持续开发CD:
持续部署(ContinuousDeployment,CD):整个流程链,它自动监测源代码变更并通过构建、测试、打包和相关操作运行它们以生成可部署的版本,基本上没有任何人为干预。
CI/CD是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。CI/CD的核心概念是持续集成、持续交付和持续部署。 CI/CD主流技术: (1)GitLabCI/CD GitLab的构建,测试和部署机制同样直接连接到其Git存储库,因此可以根据规则触发。该过程主要围绕Docker容器构建,可以大大简化围绕Jenkins构建必须完成的一些配置工作。 (2)CircleCI CircleCI既可在Linux环境中构建和提供,也可以构建Android应用程序以及Xcode(适用于iOS,MacOS,tvOS或watchOS)。 (3)TravisCI 如果构建需要在Windows机器上测试的代码,那么TravisCI可以提供一站式服务。 (4)AzurePipelines Azure为代码提供Microsoft、Linux和MacOS路径。该堆栈包含Docker容器和Azure硬件。如果更喜欢命令行,则可以使用YAML指定。 (5)CodeShip CodeShip在两个服务级别采用两种不同的方法。基础版本计划包括大量自动化和预配置以及图形用户界面,用于设置任务的大致轮廓。高级版本允许配置和用于定义构建环境的Docker容器,可以选择将多少个构建专用于任务以及可能的配置。 (6)SauceLabs SauceLabs则专注于测试。基于云的服务提供了各种各样的组合,以确保一切正常。SauceLabs专门将测试与其他CI工具或管道集成,因此可以在本地运行Jenkins,然后将测试委托给SauceLabs。 (7)JenkinsandHudson 在云中启动持续集成最简单的方法之一是租用服务器实例并启动Jenkins或Hudson。
|