sql初学者指南
持续集成(CI)似乎是浪费时间或增加工作量,无法推动功能的发展。 但是,当您考虑项目的“健康状况”以及如何预测与其他开发人员合作的未来流程时,就会留下一个突出的问题。 流程需要自动化以节省我们的时间! 在过去的几年中,与工程师团队合作以消除不良的生产推动力,持续集成和部署已发展为行业最佳实践。
那里有什么?
选择使用哪种服务取决于您的要求,技术堆栈的类型以及您每周要处理多少工作流程。
以下是一些执行CI的提供商和开源项目,它们专注于连续部署/交付选项。
通常使用CloudBees CodeShip ,Travis CI(现已成为Idera,Inc.的一部分),CircleCI, Jenkins , AWS和Heroku 。
记住的概念!
环境
环境由启用的使用者,流程和设计不同的运行内部版本的类型定义。 最常见的环境类型设置为生产,暂存,本地,开发,演示等。
持续集成
建立
通常,当您的团队推动提交或创建请求请求时,将设置触发器。 它会触发一个过程,开始在虚拟环境中编译源代码并构建项目。
相
每个连续集成都有该过程要经历的阶段。 一个阶段可能要经过的最简单的过程之一是:Git克隆,编译/构建,单元测试,打包然后部署。
工作
当我们设置环境时; 将会有一些作业可以正确设置容器并进行正确的投影-它可以模拟作业的部署方式。 一项工作可能是安装某些依赖项,添加环境变量,运行数据库迁移,运行单元测试等。
货柜
我认为可以肯定地说,容器一开始可能会令人困惑。 尽管现实情况是,它使工程师更容易知道他们的软件将在部署的任何地方运行。 容器可以运行各种应用程序,并且可以在Amazon AWS,Heroku,Docker, Kubernetes等上进行管理。
测试中
有几种测试类型,但我认为最重要的两种是:行为驱动的开发和测试驱动的开发,它们为编写出色的测试提供了最佳实践。
平行测试
设置好测试框架后,就可以开始将测试分为几组,然后将一个组称为某个管道。
- 管道。 管道是一组共享相同代码库的应用程序。 每个应用程序都代表开发,登台,生产等阶段,它们是连续交付工作流程的一部分,因此可以轻松地促进环境的发展。
- VCPU。 这就是我们所谓的虚拟中央处理器。 通常,将几个vCPU分配给云环境中的每个虚拟机,并代表物理CPU的一部分。
持续交付+部署
一旦完成了持续集成的设置,我们现在就可以设置触发器以在我们的远程环境中推广新版本。
一个普遍的规则是在升级到生产之前先部署到过渡环境。 这样可以增加质量检查时间并由所有者一方进行审核。
结论
显然,持续部署和交付已发展为行业最佳实践。 了解这些概念是成功项目的关键。 还有其他实现CI / CD的方法,但是我想给出一些简单方法的基线,以帮助您入门!
祝好运!
额外资源
- 了解有关CloudBees CodeShip入门的更多信息
- 阅读有关CI / CD最佳实践的文章
- 了解一家公司如何使用CloudBees CodeShip部署CI / CD
翻译自: https://www.javacodegeeks.com/2019/03/guide-continuous-integration-deployment.html
sql初学者指南