github Actions知识点与git仓库备份实践

github Actions知识点与git仓库备份实践

在这里插入图片描述

Github Actions 是 GitHub 推出的持续集成 (Continuous integration , 简称 (I) 服务 , 它提供了配置虚拟服务器环境 , 基于它可以进行构建 、 测试 、 打包 、 部署项目 。

GitHub Actions 为每个任务 (job) 都提供了一个虚拟机来执行 , 每台虚拟机都有相同的硬件资源 :

  • 2-core CPU
  • 7 GB RA M 内存
  • 14 GB SSD 硬盘空间

( 实测硬盘总容量为 90G 左右 , 可用空间为 30G 左右 )

使用限制:

  • 每个仓库只能同时支持 20 个 workflow 并行 。
  • 每小时可以调用 1000 次 GitHub API 。
  • 每个 job 最多可以执行 6 个小时
  • 免费版的用户最大支持 20 个 job 并发执行 , macOS 最大只支持 5 个
  • 私有仓库每月累计使用时间为 2000 分钟( 超过后 $ 0 , 008 / 分钟 , 公共仓库则无限制 )

配置

核心概念与层次关系:workflow/job/step/action

image-20230608141121902

  • 配置路径:.github/workflow/*.yml

  • 触发条件 : 仓库事件 、 定时触发 、 手动 、 API

实践:同步GitHub仓库到gitee

此过程通过ssh同步将GitHub仓库同步到gitee,实时备份,可用于GitHub访问速度慢时(你懂的)

1.在gitee上创建同名同类型仓库

image-20230608143456502

2.gitee端新建仓库添加个人公钥

image-20230608143744486

在终端产生一对私钥和公钥

image-20230608145008890

gitee填写个人公钥:

image-20230608144932461

3.在github端填写填写刚刚产生的私钥:

image-20230608145305023

image-20230608152353348

记住该私钥名字,下面actions配置中会用到

4.在github需要同步的仓库设置里添加公钥:

image-20230608150242423

5.在github端设置gitaction

参考仓库配置action 使ssh同步到gitee仓库

image-20230608151435681

图中标记1即上述在github中添加的私钥(钥匙)

图中标记2为同步源仓库

图中标记3为目标仓库

点击commit后回到仓库actions中可看到同步任务已开始

image-20230608152847035

image-20230608155247559

至此在GitHub上push后就会触发自动同步到gitee了