Open kangyana opened 1 year ago
CI
CD
CICD 一般合称,无需特意区分二者区别。 从开发、测试到上线的过程中,借助于 CICD 进行一些自动化处理,保障项目质量。
CICD
CICD 与 git 集成在一起,可理解为服务器端的 git hooks:当代码 push 到远程仓库后,借助 WebHooks 对当前代码在构建服务器(即 CI 服务器,也称作 Runner)中进行自动构建、测试及部署等。
git hooks
WebHooks
它有若干好处:
<branch>.dev.shanyue.tech
由于近些年来 CICD 的全面介入,项目开发的工作流就是 CICD 的工作流,请看一个比较完善的 CICD Workflow。
CICD 集成于 CICD 工具及代码托管服务。 CICD 有时也可理解为进行 CICD 的构建服务器,而提供 CICD 的服务,如以下产品,将会提供构建服务与 github/gitlab 集成在一起。
如果你们公司没有 CICD 基础设置,那么你可以尝试 github 免费的 CICD 服务: github actions (opens new window)。 公司一般以 gitlab CI 作为 CICD 工具,此时需要自建 gitlab Runner 作为构建服务器。
gitlab CI
gitlab Runner
每一家 CICD 产品,都有各自的配置方式,但是总体上用法差不多。 以下 CI 脚本指当在 master 有代码变更时,自动部署上线。
deploy: stage: deploy only: - master script: - docker build -t harbor.shanyue.tech/fe/devtools-app - docker push harbor.shanyue.tech/fe/devtools-app - helm upgrade -install devtools-app-chart .
1. 什么是 CICD ?
CI
,Continuous Integration,持续集成。CD
,Continuous Deployment,持续部署。CICD
一般合称,无需特意区分二者区别。 从开发、测试到上线的过程中,借助于 CICD 进行一些自动化处理,保障项目质量。CICD
与 git 集成在一起,可理解为服务器端的git hooks
:当代码 push 到远程仓库后,借助WebHooks
对当前代码在构建服务器(即 CI 服务器,也称作 Runner)中进行自动构建、测试及部署等。它有若干好处:
<branch>.dev.shanyue.tech
此种地址。由于近些年来 CICD 的全面介入,项目开发的工作流就是 CICD 的工作流,请看一个比较完善的 CICD Workflow。
2. CICD 工具
CICD
集成于 CICD 工具及代码托管服务。 CICD 有时也可理解为进行 CICD 的构建服务器,而提供 CICD 的服务,如以下产品,将会提供构建服务与 github/gitlab 集成在一起。如果你们公司没有 CICD 基础设置,那么你可以尝试 github 免费的 CICD 服务: github actions (opens new window)。 公司一般以
gitlab CI
作为 CICD 工具,此时需要自建gitlab Runner
作为构建服务器。3. 一段简单的 CICD 配置
每一家 CICD 产品,都有各自的配置方式,但是总体上用法差不多。 以下 CI 脚本指当在 master 有代码变更时,自动部署上线。