Gitee同步GitHub仓库
GitHub有时候访问速度慢,加载不了图片等问题。
过程记录
GitHub 的Actions会处理.github
下的工作流文件夹workflows
。
只要在g项目根目录下创建 .github/workflows/
,在这个文件夹里再创建Sync.yml
文件,填入以下代码。
当产生push
操作就会自动同步gitee
<div id="rsa"></div>
GITEE_RSA_PRIVATE_KEY
是私钥。生成步骤如下:
- 在命令行终端或 Git Bash 使用命令
ssh-keygen -t rsa -C "youremail@example.com"
生成 SSH Key,注意替换为自己的邮箱,连续三次回车。生成的 id_rsa 是私钥,id_rsa.pub 是公钥。(⚠️注意此处不要设置密码) - 在 GitHub 项目的「Settings -> Secrets」路径下配置好命名为 GITEE_RSA_PRIVATE_KEY 密钥。GITEE_RSA_PRIVATE_KEY 存放 id_rsa 私钥。
- 在 GitHub 的个人设置页面「Settings -> SSH and GPG keys」 配置 SSH 公钥(即:
id_rsa.pub
),命名随意。 - 在 Gitee 的个人设置页面「安全设置 -> SSH 公钥」 配置 SSH 公钥(即:
id_rsa.pub
),命名随意。
name: Sync To Gitee
on: [ push, delete, create ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Sync to Gitee
uses: wearerequired/git-mirror-action@master
env:
# 注意在 Settings->Secrets 配置 GITEE_RSA_PRIVATE_KEY
SSH_PRIVATE_KEY: ${{ secrets.GITEE_RSA_PRIVATE_KEY }}
with:
# 注意替换为你的 GitHub 源仓库地址
source-repo: git@github.com:github-username/github-repositoryname.git
# 注意替换为你的 Gitee 目标仓库地址
destination-repo: git@gitee.com:gitee-username/gitee-repositoryname.git
Gitee Pages 自动部署项目
由于 Gitee Pages 的访问速度很快,很多朋友会选择 Gitee Pages 部署项目(如:个人博客、开源项目国内镜像站点)。但是它不像 GitHub Pages 那样,一提交代码就能自动更新 Pages,因为 Gitee 的自动部署属于 Gitee Pages Pro 的服务。 使用会先将 GitHub 仓库同步到 Gitee 仓库,再自动实现 Gitee Pages 的部署。
过程记录
密钥生成见上方 在 GitHub 项目的「Settings -> Secrets」路径下配置好命名为 GITEE_RSA_PRIVATE_KEY 和 GITEE_PASSWORD 的两个密钥。其中:GITEE_RSA_PRIVATE_KEY 存放 id_rsa 私钥;GITEE_PASSWORD 存放 Gitee 帐号的密码。
name: Sync and Build
on: [ page_build ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Sync to Gitee
uses: wearerequired/git-mirror-action@master
env:
# 注意在 Settings->Secrets 配置 GITEE_RSA_PRIVATE_KEY
SSH_PRIVATE_KEY: ${{ secrets.GITEE_RSA_PRIVATE_KEY }}
with:
# 注意替换为你的 GitHub 源仓库地址
source-repo: git@github.com:username/repositoryname.git
# 注意替换为你的 Gitee 目标仓库地址
destination-repo: git@gitee.com:username/repositoryname.git
- name: Build Gitee Pages
uses: yanglbme/gitee-pages-action@main
with:
# 注意替换为你的 Gitee 用户名
gitee-username: username
# 注意在 Settings->Secrets 配置 GITEE_PASSWORD
gitee-password: ${{ secrets.GITEE_PASSWORD }}
# 注意替换为你的 Gitee 仓库,仓库名严格区分大小写,请准确填写,否则会出错
gitee-repo: username/repositoryname
# 要部署的分支,默认是 master,若是其他分支,则需要指定(指定的分支必须存在)
branch: master
使用到的action
- https://github.com/wearerequired/git-mirror-action
- https://github.com/yanglbme/gitee-pages-action