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

【CI/CD】GitHub Actions 快速入门

🔑 GitHub Actions 使用流程(从头到尾)

1. 启用 GitHub Actions

  • 打开 GitHub 仓库 → 点击 Actions 标签页。
  • GitHub 会给你推荐一些常见的工作流模板(Node.js、Java、Python 等),也可以选择 自己新建 workflow

2. 创建 workflow 配置文件

  • 在项目根目录下新建:

    .github/workflows/ci.yml
    
  • 这是 Actions 的核心配置文件,使用 YAML 语法描述 CI/CD 流程。


3. 配置 workflow 基本信息

示例:Node.js 项目自动测试

name: CI Pipeline   # 工作流名称on:                 # 触发条件push:             # 推送时触发branches: [ main ]pull_request:     # PR 时触发branches: [ main ]jobs:               # 一个 workflow 可以包含多个 jobbuild:runs-on: ubuntu-latest   # 运行环境(虚拟机)steps:          # job 中的每一步- name: Checkout codeuses: actions/checkout@v3   # 拉取代码- name: Setup Node.jsuses: actions/setup-node@v3with:node-version: '18'        # 设置 Node 版本- name: Install dependenciesrun: npm install- name: Run testsrun: npm test

4. (可选)添加环境变量 & secrets

  • 如果需要连接数据库、部署到服务器,需要配置 Secrets

    • 打开仓库 → Settings → Secrets and variables → Actions → 新建 DEPLOY_KEYDB_PASSWORD 等。
  • 在 workflow 文件里这样引用:

    - name: Deployrun: ssh user@server "deploy.sh"env:DEPLOY_KEY: ${{ secrets.DEPLOY_KEY }}
    

5. 提交代码,触发 workflow

  • 提交 ci.yml 到仓库:

    git add .github/workflows/ci.yml
    git commit -m "add github actions ci"
    git push origin main
    
  • GitHub 会自动启动 Actions,你可以在 Actions 面板看到执行日志。


6. 查看结果 & 调试

  • 每一步执行都会在日志中展示输出。
  • 如果失败,可以点开对应步骤查看错误信息。
  • 修改 .yml 文件再 push 即可重新运行。

7. 扩展:常见使用场景

  • CI(持续集成):跑单元测试、Lint 检查。
  • CD(持续部署):构建并部署到服务器、云服务(如 AWS、Vercel、Docker Hub)。
  • 自动化:定时任务(on: schedule)、自动发布 npm 包、生成 changelog。

✅ 总结

在 GitHub Actions 里一般的操作步骤是:
首先在项目中新建 .github/workflows/xxx.yml 文件,然后在里面配置触发条件(比如 push 到 main 分支)、运行环境(如 ubuntu-latest)、以及每个执行步骤(checkout 代码、安装依赖、运行测试、构建部署)。
如果需要敏感信息,会在仓库的 Secrets 中配置,然后在 workflow 里引用。最后我会提交代码,GitHub 自动执行,并在 Actions 面板查看执行日志。
实际开发中我常用它做 CI 测试和自动部署。


文章转载自:

http://JkdSxThj.kbkcL.cn
http://ZyLAIN4Y.kbkcL.cn
http://jhYICgoJ.kbkcL.cn
http://TxzwD9a5.kbkcL.cn
http://iNmrToe2.kbkcL.cn
http://JNiLkU3j.kbkcL.cn
http://3AP8tzxp.kbkcL.cn
http://1K8wHYpN.kbkcL.cn
http://13v60NpT.kbkcL.cn
http://f3GwiXGf.kbkcL.cn
http://BAJ8ABsn.kbkcL.cn
http://VOUSZIDe.kbkcL.cn
http://YEmrssVe.kbkcL.cn
http://gOU9lLX2.kbkcL.cn
http://j30bZysn.kbkcL.cn
http://QRSUoF1N.kbkcL.cn
http://XvVHBh4r.kbkcL.cn
http://MPdImv1e.kbkcL.cn
http://w2jEyV5t.kbkcL.cn
http://s80RH5nm.kbkcL.cn
http://lw8L1780.kbkcL.cn
http://df7DzyM0.kbkcL.cn
http://48UMH7Xu.kbkcL.cn
http://VK4RSlAw.kbkcL.cn
http://xnH8kSxg.kbkcL.cn
http://RMlGmozT.kbkcL.cn
http://ZKjgdrYC.kbkcL.cn
http://cRojaeKI.kbkcL.cn
http://NGaqPIKk.kbkcL.cn
http://m0guyZh4.kbkcL.cn
http://www.dtcms.com/a/373601.html

相关文章:

  • 如何在安卓手机/平板上找到下载文件?
  • Claude Code Windows 原生版安装指南
  • AR技术:多行业数字化转型的加速引擎
  • C++初阶(4)类和对象(上)
  • SpringAI企业级应用开发面试全流程解析:核心技术、架构落地与业务场景实战
  • 从旋转位置编码RoPE到YaRN的原理与实现
  • xfs inode cluster lock order导致的死锁
  • @PostMapping 是什么
  • Vue笔记2+3
  • Android 倒车影像
  • 哈希表-49.字母异位词分组-力扣(LeetCode)
  • JLINK 调试器单步调试单片机
  • AWS TechFest 2025: 智能体企业级开发流程、Strands Agents
  • Cy3-Tyramide,Cyanine 3 Tyramide; 174961-75-2
  • Neural Jacobian Field学习笔记 - jaxtyping
  • 从0到1学习Vue框架Day02
  • 人工智能学习:Transformer结构(编码器及其掩码张量)
  • ThreeJS骨骼示例
  • 网络工程师软考:网络自动化与可编程网络深度解析
  • 天工开物:耐达讯自动化RS232转ProfiBus网关连接变频器的“重生“术
  • WPF资源字典合并报错
  • DevExpress WPF 中文教程:如何将 WPF 数据网格绑定虚拟数据源?
  • TypeORM 入门教程:@ManyToOne 与 @OneToMany 关系详解
  • 开关电源基础知识
  • C++-RAII
  • nginx反向代理,负载均衡,tomcat的数据流向图篇解析
  • 独立站SEO优化:如何应用移动代理IP提升关键词排名?
  • Linux初始——cgdb
  • 【T2I】Discriminative Probing and Tuning for Text-to-Image Generation
  • Vue: ref、reactive、shallowRef、shallowReactive