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

使用GitHub Actions实现CI/CD流程

💓 博客主页:瑕疵的CSDN主页
📝 Gitee主页:瑕疵的gitee主页
⏩ 文章专栏:《热点资讯》

使用GitHub Actions实现CI/CD流程

      • GitHub Actions 简介
      • 创建仓库
      • 配置工作流
        • 示例工作流文件
      • 触发和运行工作流
      • 部署应用
      • 最佳实践
      • 总结

GitHub Actions 是一个强大的自动化工具,可以帮助开发者在 GitHub 上实现持续集成(CI)和持续部署(CD)流程。本文将详细介绍如何使用 GitHub Actions 实现 CI/CD 流程,包括创建仓库、配置工作流、编写工作流文件、触发和运行工作流、部署应用等内容。

GitHub Actions 简介

GitHub Actions 是 GitHub 提供的一项自动化服务,允许开发者在代码仓库中定义和运行自动化任务。这些任务可以包括构建、测试、部署等,支持多种编程语言和框架。

创建仓库

1. 登录 GitHub。
2. 点击右上角的 + 按钮,选择 New repository
3. 输入仓库名称、描述等信息,选择公开或私有仓库。
4. 点击 Create repository 按钮。

配置工作流

1. 在仓库中创建 .github/workflows 目录。
2. 在该目录下创建一个 YAML 文件,文件名可以是 ci.yml 或其他有意义的名称。
3. 编写工作流文件,定义工作流的各个步骤。

示例工作流文件
以下是一个简单的 CI/CD 工作流文件示例,用于构建和测试一个 Python 应用程序:

name: Python applicationon:push:branches:- mainpull_request:branches:- mainjobs:build:runs-on: ubuntu-lateststeps:- name: Checkout repositoryuses: actions/checkout@v2- name: Set up Pythonuses: actions/setup-python@v2with:python-version: 3.9- name: Install dependenciesrun: |python -m pip install --upgrade pippip install -r requirements.txt- name: Run testsrun: pytestdeploy:needs: buildruns-on: ubuntu-lateststeps:- name: Checkout repositoryuses: actions/checkout@v2- name: Deploy to productionrun: |# 部署命令echo 'Deploying to production...'

触发和运行工作流

1. 将工作流文件提交到仓库:

git add .github/workflows/ci.yml
git commit -m "Add CI/CD workflow"
git push origin main
  1. 在 GitHub 仓库页面,点击 Actions 标签页,查看工作流的运行状态。
  2. 可以手动触发工作流,或者等待代码推送到指定分支时自动触发。

部署应用

1. 部署到 Heroku
- 创建 Heroku 应用。
- 获取 Heroku API 密钥。
- 在 GitHub 仓库的 Settings -> Secrets 中添加 HEROKU_API_KEYHEROKU_APP_NAME
- 修改工作流文件,添加部署步骤:

- name: Deploy to Herokurun: |heroku container:loginheroku container:push web --app ${{ secrets.HEROKU_APP_NAME }}heroku container:release web --app ${{ secrets.HEROKU_APP_NAME }}
  1. 部署到 AWS
    • 创建 AWS 账户和 S3 存储桶。
    • 获取 AWS Access Key ID 和 Secret Access Key。
    • 在 GitHub 仓库的 Settings -> Secrets 中添加 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY
    • 修改工作流文件,添加部署步骤:
- name: Deploy to AWS S3run: |aws s3 sync ./dist s3://${{ secrets.AWS_S3_BUCKET }}/

最佳实践

1. 使用环境变量:将敏感信息(如 API 密钥)存储在 GitHub 仓库的 Secrets 中,避免在代码中硬编码。
2. 分阶段部署:将部署过程分为多个阶段,如测试环境、预生产环境和生产环境。
3. 使用缓存:利用 GitHub Actions 的缓存功能,加快构建和测试速度。
4. 并行运行:使用 matrix 关键字并行运行多个任务,提高效率。
5. 定期运行:使用 schedule 关键字定期运行工作流,进行定期测试和部署。

总结

通过本文,你已经学习了如何使用 GitHub Actions 实现 CI/CD 流程。我们介绍了 GitHub Actions 的基本概念、创建仓库、配置工作流、编写工作流文件、触发和运行工作流、部署应用等内容。掌握了这些知识,将有助于你在实际工作中更好地利用 GitHub Actions 来实现自动化流程,提高开发和部署的效率。
GitHub Actions 创建工作流界面

使用 GitHub Actions 可以轻松实现 CI/CD 流程。
GitHub Actions 运行工作流界面

http://www.lryc.cn/news/480349.html

相关文章:

  • 机器人助力Bridge Champ游戏:1.4.2版本如何提升玩家体验
  • 滑动窗口(单调队列维护窗口)-acwing
  • ALB搭建
  • c# 动态lambda实现二级过滤(支持多种参数类型和模糊查询)
  • 第J5周:DenseNet+SE-Net实战
  • Intern大模型训练营(五):书生大模型全链路开源体系笔记
  • 聚观早报 | 比亚迪腾势D9登陆泰国;苹果 iOS 18.2 将发布
  • 微信小程序开发,诗词鉴赏app,诗词搜索实现(三)
  • Kotlin 协程使用及其详解
  • 计算机组成原理--三章四章
  • 单片机工程使用链接优化-flto找不到定义_链接静态库
  • UniTask/Unity的PlayerLoopTiming触发顺序
  • 【报错记录】Steam迁移(移动)游戏报:移动以下应用的内容失败:XXX: 磁盘写入错误
  • C 语言学习-04【结构化程序设计】
  • 机器视觉:轮廓匹配算法原理
  • 动力商城-02 环境搭建
  • 【react】Redux基础用法
  • 使用Python分析股票价格数据并计算移动平均线的实用指南
  • 如何解决FPS低的问题?代码优化方法有哪些?
  • QT信号和槽与自定义的信号和槽
  • LC:二分查找——杂记
  • GA/T1400视图库平台EasyCVR多品牌摄像机视频平台前端监控摄像头镜头的基础知识
  • 【C++】踏上C++的学习之旅(六):深入“类和对象“世界,掌握编程的黄金法则(一)
  • 【物联网技术】ESP8266 WIFI模块在STA模式下作为TCP客户端上电自动进入透传数据模式
  • 重构代码之用委托替代继承
  • 软件设计师下午题UML15分
  • css background-image背景图片轮播
  • java---认识异常(详解)
  • Linux基础学习笔记
  • 自动泊车端到端算法 ParkingE2E 介绍