当前位置: 首页 > news >正文

CI/CD是什么?使用GitHub Actions快速体验

文章目录

    • 什么是 CI/CD?
    • 通过GitHub Actions实现静态HTML页面推送代码后自动部署到GitHub Pages
      • 步骤 1:创建仓库并克隆到本地
      • 步骤 2:创建最简单的 HTML 文件
      • 步骤 3:创建 GitHub Actions 工作流文件
      • 步骤 4:推送代码到 GitHub
      • 步骤 5:启用 GitHub Pages
      • 步骤 6:查看部署结果
      • 验证自动部署

什么是 CI/CD?

CI/CD 是 持续集成(Continuous Integration) 和 持续交付/持续部署(Continuous Delivery/Continuous Deployment) 的缩写。它是一套自动化的软件开发与交付流程,旨在将代码从提交到最终部署的各个环节串联起来,替代传统繁琐的人工操作,从而实现快速、频繁且可靠的软件发布。

具体来说,它包含三个核心环节:

  • 持续集成 (CI):开发人员频繁地将代码变更合并到共享的代码仓库中。每次合并都会触发自动化的构建和测试流程,以便尽早发现集成错误,保证代码库的质量和稳定性。
  • 持续交付 (CD):在 CI 阶段验证通过的代码,会被自动化地打包并交付到类生产环境中进行进一步测试。代码始终保持在“可部署”状态,但在推送到生产环境之前通常需要手动批准。
  • 持续部署:这是更高级别的自动化。在通过所有自动化测试后,代码变更无需人工干预,直接自动部署到生产环境并交付给最终用户。

通过GitHub Actions实现静态HTML页面推送代码后自动部署到GitHub Pages

最终效果:访问https://你的用户名.github.io/website-with-CI-CD/

整体项目结构

website-with-CI-CD/ ├── .github/ │ └── workflows/ │ └── deploy.yml# GitHub Actions 工作流文件├── index.html# 网站首页

步骤 1:创建仓库并克隆到本地

在 GitHub 上新建一个公开仓库,命名为 website-with-CI-CD。

将仓库克隆到本地电脑:

gitclone https://github.com/你的用户名/website-with-CI-CD.gitcdwebsite-with-CI-CD

步骤 2:创建最简单的 HTML 文件

在项目根目录创建 index.html,内容如下:

<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title>我的自动部署网站</title></head><body><h1>🚀 部署成功!</h1><p>这个页面通过 GitHub Actions 自动部署。</p><p>当前时间:<spanid="time"></span></p><script>document.getElementById('time').textContent=newDate().toLocaleString();</script></body></html>

步骤 3:创建 GitHub Actions 工作流文件

创建目录和文件:

mkdir-p.github/workflows#目录名固定,GitHub规定touch.github/workflows/deploy.yml#文件后缀为.yml或.yaml,文件名自定义,通常是描述当前工作流的用途

复制下面的内容到 .github/workflows/deploy.yml:

name:部署到 GitHub Pages#定义工作流workflow的名称on:#定义触发该工作流的条件push:branches:["main"]# 当推送到 main 分支时触发jobs:#定义工作流中包含的作业jobdeploy:#一个名为deploy的job,一个工作流可以包含多个jobruns-on:ubuntu-latest# 指定运行环境为最新版的 Ubuntu 虚拟机permissions:#为job授予特定权限contents:read#允许读取仓库代码内容pages:write#允许将构建好的文件写入 GitHub Pages 的存储区id-token:write#允许生成 OIDC 令牌,用于安全地向 GitHub Pages 验证身份steps:-name:检出代码uses:actions/checkout@v4#调用GitHub 官方提供的插件actions/checkout@v4,将仓库里的代码完整克隆到虚拟机的当前目录下-name:配置 Pagesuses:actions/configure-pages@v4#自动检测项目类型,并为后续的部署配置好必要的环境变量和基础设置-name:上传构建产物uses:actions/upload-pages-artifact@v3#打包并上传需要部署的文件with:#向插件传递参数path:'.'#将当前目录(. 代表当前目录)下的所有文件打包成一个 Artifact(构建产物)并上传。-name:部署到 GitHub Pagesuses:actions/deploy-pages@v4#执行最终的发布动作

步骤 4:推送代码到 GitHub

gitadd.gitcommit-m"添加首页和自动部署工作流"gitpush origin main

步骤 5:启用 GitHub Pages

推送完成后:

  1. GitHub 进入你的仓库website-with-CI-CDSettingsPages
  2. Build and deployment部分:
    Source 选择GitHub Actions(不要选 Deploy from a branch)
  3. 稍等片刻,Actions 工作流会自动运行

步骤 6:查看部署结果

  1. 点击仓库上方的Actions标签页,可以看到工作流正在运行
  2. 绿色对勾表示部署成功


3. 访问https://你的用户名.github.io/website-with-CI-CD/即可看到页面

验证自动部署

修改 index.html 中的内容,例如把 “部署成功” 改成 “部署成功!第二次更新”,然后:

gitadd.gitcommit-m"更新页面内容"gitpush origin main

等待 Actions 运行完毕,浏览器刷新https://你的用户名.github.io/website-with-CI-CD/页面即可看到新内容。

http://www.jsqmd.com/news/1123881/

相关文章:

  • 日前公司 server-side 有组件,疑似因撰写时 exception-handling 做得不周全
  • 震惊!原来毕业论文还能这样写?2026降AI率工具推荐合集
  • 好用的区域教育一体化管理平台源头厂家
  • 文心一言内测实录:中文长文本理解与企业文档处理深度评测
  • GPT-4与GPT-4 Turbo核心差异:上下文、知识、稳定性与成本的工程真相
  • 从CVE-2020-27986看SonarQube安全加固:构建纵深防御的代码审计平台
  • 一次 GitLab 大仓库 Clone 中断排查
  • git的基本了解
  • 学术科研选模型的本质:任务-能力匹配三原则
  • HackDroid:移动端Android安全测试与逆向分析工具箱实战指南
  • 无线鼠标持续充电技术的演进——6.78MHz磁共振国产方案的崛起
  • Db2数据库手工SQL注入实战:从原理到靶场复现
  • 2025终极指南:如何轻松突破Google Drive PDF下载限制的3个关键步骤
  • TVA在具身智能商业化部署中的技术突破(14)
  • E-Hentai下载器完整指南:3分钟掌握免费画廊打包技巧
  • 是谁给你的身份?中小政企轻量化本地 IAM 通用部署与选型全指南
  • 找人做AI系统之前,这5个坑你一定要知道
  • GB 14881-2025对食品工作服提出了哪些新要求?
  • 计算机毕业设计之jsp克拉玛依职业技术学院信息工程系网站
  • 2026最新智习室合作盈利分析 看完就清楚能不能赚到钱
  • QLoRA技术从入门到精通
  • 毫米波芯片技术助力太空通信革新
  • 哈夫曼编码:压缩算法中的“最优解”
  • 毕设一条龙都包含什么?从选题到答辩,每项干什么、值不值(明码思路)
  • 金融投资公司出海后,通常选哪家实体管理供应商?
  • 【下一代智慧养老:架构与实战连载】前言
  • 为什么有些人成功后,反而败得越快?
  • AUTOSAR通信栈CAN LIN FlexRay实现:构建汽车网络通信系统
  • AI剪辑技术解析:从素材到故事的自动化创作实践
  • 云计算为企业带来竞争优势的9种方式