从Github操作迁移
本文概述了如何从Github操作迁移到CircleCI。
为什么要迁移到CircleCI?
CircleCI是一流的CI工具。CI / CD一直是我们自公司成立8年前专业化。188bet娱乐官网在这些特征的顶部,你会期望从任何CI / CD工具,我们与众不同的是下面的工作效率提升功能:
高级高速缓存- 在之上正常的依赖缓存, CircleCI提供特定于码头工人的图像层。这意味着Docker映像的后续构建将运行得更快,从而节省更多提交部署工作流的时间。
SSH进入构建- CircleCI提供的能力,安全地SSH到构建环境中尾日志,处理文件工作,并直接与交互的环境。这对于调试失败构建非常有用的。
资源类- 您可以使用各种不同的大小的执行者在我们的平台上,非常适合根据节点上较轻或较重的工作负载进行调整。
测试的并行性-我们的平台不仅提供并发作业执行同时还具备分割并行环境之间的测试。您可以通过大幅削减构建时间在不同容器之间分割工作负载。
概念
乔布斯和工作流程
无论Github上操作和CircleCI份额类似的概念围绕“就业”和“工作流程”。工作流是连接工作,这又由命令以实现任务原子(例如,“运行单元测试”或“构建泊坞图像”)的端部到端流动。
CircleCI的主要不同之处在于配置语法,即在单独的部分中设置工作流和作业依赖项,而不是在作业中设置内联。
Github上 | CircleCI |
---|---|
|
|
行动与球体
“操作”在Github的可重复使用的命令或任务到任务中运行。然而,它们对于一个泊坞容器内部执行写入或编码为使用JavaScript各个步骤。这增加了额外的工作,并限制在它们可应用的范围。
CircleCI提供了类似的功能球体。主要的区别是,CircleCI球体只是包装,可重复使用的YAML,这样你就可以重复使用orbify工作,执行人,或命令,并使用它们不过你在任何你的工作或工作流程的认为合适的。
跑步者和执行者
在GitHub上,你可以指定你的构建在Linux,MacOS的运行,和Windows环境通过运行上
在YAML关键,如果你想运行在一个容器中任何东西,你指定一个额外的容器
键。
在CircleCI,你有环境(称为执行人)的相同选择,与其他选项和功能的码头工人。
对于每个执行器类型,你有不同的版本,随后将安装基本软件的各种版本的选择。
请参阅下一节中的表来比较配置。
配置比较
Github配置 | CircleCI配置 |
---|---|
指定执行环境。虽然容器执行在Github的另外指定, |
|
|
|
指定依赖/服务。在CircleCI后先指定的所有图像处理作为依赖。 |
|
|
|
指定步骤运行在一个工作。功能相似,语法不同。 |
|
|
|
使用共享任务(操作为Github上,球体为CircleCI)。在CircleCI,你在顶层声明球体 |
|
|
|
在工作流中使用条件步骤。CircleCI提供台阶基本条件(例如,on_success(默认) |
|
|
|
由于Github动作和CircleCI之间的配置是类似的,迁移作业和工作流应该是相当简单的。然而,为了获得最佳的成功机会,我们建议按照以下顺序迁移项目: