经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 软件/图像 » Git » 查看文章
GitHub Actions CI/CD 工作流实战
来源:cnblogs  作者:护发师兄  时间:2023/8/30 9:26:11  对本文有异议

1. 什么是 GitHub Actions 与 workflow ?

GitHub Actions 是 GitHub 提供的一种持续集成(CI)和持续部署(CD)的工具,用于自动化软件开发过程中的各种任务和工作流。GitHub Action Workflow 是一组定义在存储库中的自动化任务,可以根据不同的事件(例如代码推送、拉取请求、问题创建等)触发执行。

每个 GitHub Action Workflow 都是由一个或多个步骤(Steps)组成,每个步骤可以包含一个或多个命令、脚本或操作。这些步骤可以按顺序执行,也可以并行执行,以便自动化构建、测试、部署等任务。

一些常见的用途包括:

  1. 自动测试和构建: 在代码推送到存储库时自动运行测试,确保代码的质量和稳定性。
  2. 自动部署: 当代码合并到主分支时,自动将应用程序部署到生产环境。
  3. 发布通知: 在新问题创建或拉取请求时,自动发送通知到团队成员。
  4. 自动化文档生成: 在代码变更时,自动生成更新的文档。
  5. 版本发布: 在发布新版本时,自动执行一系列步骤,如创建标签、生成发布文件等。
  6. 代码质量检查: 自动运行代码风格检查、静态分析等工具,以确保代码符合规范。
  7. 容器构建: 自动构建 Docker 镜像并将其推送到容器注册表。
  8. 多环境支持: 根据不同分支或标签,自动执行适合的工作流程,以支持不同的开发、测试和生产环境。

GitHub Action Workflow 使用 YAML 文件来定义,该文件位于存储库中的 .github/workflows 目录下。这些定义可以根据项目的需求进行配置和自定义。

2. 代码实战

2.1 以MSVS工程(C++工程)为例

  1. # 定义构建流程
  2. name: Build Process
  3. # 当代码被推送到存储库时触发工作流
  4. on: push
  5. jobs:
  6. # 定义构建作业
  7. build:
  8. # 在 Windows 环境中运行
  9. runs-on: windows-latest
  10. steps:
  11. # 步骤:检出代码
  12. - name: Checkout code
  13. uses: actions/checkout@v3
  14. # 步骤:设置 MSBuild
  15. - name: Setup MSBuild
  16. uses: microsoft/setup-msbuild@v1.1
  17. # 步骤:构建 VS 项目
  18. - name: Build VS Project
  19. run: |
  20. # 运行生成 DLL 的命令
  21. msbuild project.sln /p:Configuration=Release /p:Platform=x64
  22. # 步骤:上传 ZIP 构件
  23. - name: Upload ZIP Artifact
  24. uses: actions/upload-artifact@v3
  25. with:
  26. name: project
  27. # 压缩包过期时间
  28. retention-days: 90
  29. # 压缩包路径,需要根据自己项目配置进行相对应的设置
  30. path: |
  31. release

2.2 以Maven项目(Java项目)为例

  1. # 定义构建流程
  2. name: Build Process
  3. # 当代码被推送到存储库时触发工作流
  4. on: push
  5. jobs:
  6. # 定义构建作业
  7. build:
  8. # 在 Ubuntu 环境中运行
  9. runs-on: ubuntu-latest
  10. steps:
  11. # 步骤:检出代码
  12. - name: Checkout code
  13. uses: actions/checkout@v3
  14. # 步骤:设置 Java 环境为 JDK 8,并使用 Corretto 发行版,缓存 Maven
  15. - name: Setup Java
  16. uses: actions/setup-java@v3
  17. with:
  18. java-version: '8'
  19. distribution: 'corretto'
  20. cache: 'maven'
  21. # 步骤:构建 Maven 项目
  22. - name: Build Maven Project
  23. run: |
  24. # 运行打包 Maven 项目的命令
  25. mvn -DskipTests package
  26. # 步骤:上传 ZIP 构件
  27. - name: Upload ZIP Artifact
  28. uses: actions/upload-artifact@v3
  29. with:
  30. name: project
  31. retention-days: 90
  32. path: |
  33. target/*

3. 如何找到GitHub Actions

3.1 找到你的GitHub仓库

3.2 提交你的workflow文件

在项目根路径建立/.github/workflows文件夹,并在这个路径下放置你的yaml构建脚本

3.3 等待GitHub Actions构建完成

4. Actions MarketPlace

如果你对于一些不会写的构建过程,你可以到Actions MarketPlace找到对应的构建脚本并直接使用。

  1. https://github.com/marketplace?type=actions

附录

官方中文GitHub Actions文档

  1. https://docs.github.com/zh/actions

原文链接:https://www.cnblogs.com/jonil/p/17666389.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号