Github Action 是 Github 推出的一项持续集成服务, 我们可以利用 Github Action 来实现多平台测试代码, 多平台打包, 访问远程服务等等.
如 github.com/soxft/serverStatus 我就利用 Github Action 实现了代码Push到仓库main分之时, 自动多平台编译 Golang 源码并发布Release.
当然, 这篇文章最主要的还是实现, 当我们push到Github时, 自动将更改同时推送至其他平台.
首先了解一下, 为什么我们需要实现 镜像自己的存储库.
其实很简单, 我们无法确保自己的Github或其他平台账户会不会突然有一天莫名其妙的消失, 或者 有些人会更喜欢去私有化自己的存储库, 想要同时备份到自己的私有服务器上. 但不希望手动push多次.
这个时候我们可以利用Github Action, 在push到Github的同时, 同步一份到Gitee, Gitlab, Gitea...
settings > secrets > actions
处 新建一个secret, Name
为 KEY, Value
为刚刚创建的私钥..github/workflows/mirror.yml
文件编辑其内容name: 'GitHub Actions Mirror'
on: [push, delete]
jobs:
mirror_to_gitee:
runs-on: ubuntu-latest
steps:
- name: 'Checkout'
uses: actions/[email protected]
- name: 'Mirror to gitee'
uses: pixta-dev/[email protected]
with:
target_repo_url:
[email protected]:user/repo.git # 远程仓库
ssh_private_key:
${{ secrets.KEY }} # 密钥 (secret)
Gitlab 可能需要在被同步仓库处取消对主分支对protect, 否则可能会失败
本文链接:https://cloud.tencent.com/developer/article/1953745
所有原创文章采用 CC BY-NC-SA 4.0 协议进行许可, 转载请注明原文链接