如何使用Github Action同步代码到其他平台
本文最后更新于 2025年4月23日 晚上
当使用多个基于git的平台时,同步各个平台代码就比较麻烦,这时就可以借助Github Action来优雅的进行自动同步,该教程将介绍如何使用github-action来完成这件事情
1、生成SSH公钥
执行命令:ssh-keygen -t ed25519 -C "youremail@example.com",连续三次回车,id_rsa 为私钥,id_rsa.pub为公钥
不使用默认SSH参考:生成/添加SSH公钥
2、GitHub项目配置SSH密钥
在Github项目Settings->Secrets->Actions,名称为:GITEE_RSA_PRIVATE_KEY,值为:上面生成SSH的私钥
3、GitHub配置SSH公钥
在GithubSettings->SSH and GPG keys->New SSH key,名称为:GITEE_RSA_PUBLIC_KEY,值为:上面生成SSH的公钥
4、Gitee配置SSH公钥
在Gitee设置->安全设置->SSH公钥,标题为:GITEE_RSA_PUBLIC_KEY,值为:上面生成SSH的公钥
5、GitHub创建Github workflow
在项目根目录新建一个.github/workflows文件夹,新建一个Sync-to-gitee.yml文件,填入下面的内容
1 | |
如果是同步多个项目可以这样填
1 | |
保存,并把文件推送到github中,这时应该可以在github action看见刚刚的workflow在运行了
如果同步到gitee的github Action出现
remote: error: GE007: Your push would publish a private email address.这个报错,则在gitee设置->邮箱管理, √去掉
后记
如果需要将github的代码同步到gitlab也是类似的方法,则第4步方法改为:
左上角点击头像,Preferences->SSH Keys->Add new key,在Title输入GITEE_RSA_PUBLIC_KEY,Key输入上面生成SSH的公钥
如果同步到gitlab的action运行报错时可以在项目中的
Settings->Repository->Protected branches右边的Expand,把Allowed to force push按钮打开,或者点Unprotect