码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 请问什么是 CICD


    • CI,Continuous Integration,持续集成。
    • CD,Continuous Deployment,持续部署。

    CICD 一般合称,无需特意区分二者区别。从开发、测试到上线的过程中,借助于 CICD 进行一些自动化处理,保障项目质量。

    CICD 与 git 集成在一起,可理解为服务器端的 git hooks: 当代码 push 到远程仓库后,借助 WebHooks 对当前代码在构建服务器(即 CI 服务器,也称作 Runner)中进行自动构建、测试及部署等。

    它有若干好处:

    1. 功能分支提交后,通过 CICD 进行自动化测试、语法检查等,如未通过 CICD,则无法 CodeReview,更无法合并到生产环境分支进行上线
    2. 功能分支提交后,通过 CICD 检查 npm 库的风险、检查构建镜像容器的风险等
    3. 功能分支提交后,通过 CICD 对当前分支代码构建独立镜像并生成独立的分支环境地址进行测试,如对每一个功能分支生成一个可供测试的地址,一般是 .dev.shanyue.tech 此种地址
    4. 功能分支测试通过后,合并到主分支,自动构建镜像并部署到生成环境 (一般生成环境需要手动触发、自动部署)

    由于近些年来 CICD 的全面介入,项目开发的工作流就是 CICD 的工作流,请看一个比较完善的 CICD Workflow。

    CICD 工具

    CICD 集成于 CICD 工具及代码托管服务。CICD 有时也可理解为进行 CICD 的构建服务器,而提供 CICD 的服务,如以下产品,将会提供构建服务与 github/gitlab 集成在一起。

    • jenkins
    • Travis CI

    如果你们公司没有 CICD 基础设置,那么你可以尝试 github 免费的 CICD 服务: github actions (opens new window)。

    公司一般以 gitlab CI 作为 CICD 工具,此时需要自建 gitlab Runner 作为构建服务器。

    一段简单的 CICD 配置

    每一家 CICD 产品,都有各自的配置方式,但是总体上用法差不多。以下 CI 脚本指当在 master 有代码变更时,自动部署上线。

    1. deploy:
    2. stage: deploy
    3. only:
    4. - master
    5. script:
    6. - docker build -t harbor.shanyue.tech/fe/devtools-app
    7. - docker push harbor.shanyue.tech/fe/devtools-app
    8. - helm upgrade -install devtools-app-chart .

  • 相关阅读:
    盘点编写 sql 上的那些骚操作(针对mysql而言)
    java计算机毕业设计医院门诊管理系统源程序+mysql+系统+lw文档+远程调试
    Why energy matters? RGB, Camera.
    Vscode 快速下载
    SpringBoot(二):基础配置文件、yaml语法、多环境开发配置
    Python 编程基础 | 第二章-基础语法 | 2.4、while 语句
    redis的详解和项目应用(一)
    【LeetCode】移除盒子 [H](记忆化搜索)
    【21天学习挑战赛—经典算法】LeetCode 26. 删除有序数组中的重复项
    【Spring进阶系列丨最终篇】一文详解Spring中的事务控制
  • 原文地址:https://blog.csdn.net/liuhao9999/article/details/126054250
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号