在前面的章节里谈到了 GCP、Docker、Cloud Run 等技术,透过这些工具,已经可以打造出一条简单的软件开发流水线,这边就以开发者与维运人员的角度设计了简单的流程图。
学会了容器,作为开发者主要工作还是 Coding ,但开发完成後,就可以用容器化的方式将服务交付,测试好服务( Code )、以及 Image (执行环境),就能上传到 Container Registry ,供维运人员部属。
对维运人员来说,可以使用 GCP 上的各式服务来搭建环境,当收到请求,就准备好所需的相关服务进行部属。
CI 的目的在於将开发到部属之间的工作给抽离出来,包括 Build 环境 、 Unit Test 、 上传 Image 。透过脚本的建置,就能将这些流程自动化,不仅能确保测试都有正确执行,降低人为疏失的机会,这些重复的工作交由机器来做,也能减少人力成本的花费。
CD 的目的在於如何将服务自动化的部属到实际环境,并且保证服务更新期间也能正常运行,透过 CD ,就能够将开发完成的新版本快速上线,提供给使用者。
CI/CD 工具目的在於将软件开发到部属的流程自动化,不仅能减少人为疏失的风险,也让开发者与维运人员减少资源花费,也就是最一开始讲到的 DevOps 目标,让各阶段的人员只专注於自己工作情况下也能紧密合作。带入了CI/CD 技术後,可以打造出的开发架构如下。
在基础篇中,透过云端、容器、 Serverless 我们已经了解到如何建构出一套简单的软件开发流程,在之後的进阶篇里,就会介绍 Kubernetes、CI/CD 等技术,透过 DevOps 方式来让软件生命周期变更加顺畅。
<<: [Day 5] 站在巨人的肩膀上 - 回顾股票市场交易论文
range(start=0, stop, step=1) 用来产生 整数等差数列 的函式,常和今天要...
前几周主要都在谈 TypeScript,对我来说 TypeScript 最重要的是能增加程序的可维护...
直接进入 Array methods 实作练习主题。 push() 新增元素至原阵列末端,可一次新增...
在平时开发时,我们会遇到要创建许多类型相似的object,之前的文章有提到使用new操作符配合fun...
Autoload PHP 可以透过 include、include_once、require、req...