title: 1.【折腾记录】Gitee Pages自动同步GitHub Pages的内容
author: ‘谢夏戈’
date: 2020-08-16
sidebar: ‘auto’
categories:
tags:
因为国内无法访问到GitHub Pages的原因。
我把GitHub仓库 同步到了 码云-Gitee 并且启用 Gitee Pages
我想同时更新两个仓库,也就是两个博客。。。
但由于我GitHub Pages的主分支是用 副分支采用GitHub的Actions自动部署的
(简单说就是,我GitHub只push副分支,所以Gitee也只push副分支,而GitHub的Actions有帮我打包更新到master主分支,而Gitee码云没有更新master主分支)
这就导致我xxggg.github.io这个博客有更新,而xxggg.gitee.io这个博客没有更新。
解决方法有很多。
一:在我的Gitee项目里按一下强制同步那个按钮(但是这。。。)
二:不用主副分支,分两个仓库,一个源代码,一个打包后的代码。(但是这样每次都要手动打包 还要push两次)
三:也就是今天要讲的! 用GitHub Actions把代码同步到Gitee
主要参考文章:
https://www.imooc.com/article/302662
https://github.com/marketplace/actions/gitee-pages-action
在项目根目录下创建 .github/workflows/ 在这个文件夹里再创建sync.yml文件 ( GitHub 的Actions会处理.github下的工作流文件夹workflows
)
name: Sync
on: [ psuh ]
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: "[email protected]:XXGGG/xxggg.github.io.git"
# 注意替换为你的 Gitee 目标仓库地址
destination-repo: "[email protected]:XXGGG/XXGGG.git"
- name: Build Gitee Pages
uses: yanglbme/gitee-pages-action@master
with:
# 注意替换为你的 Gitee 用户名
gitee-username: XXGGG
# 注意在 Settings->Secrets 配置 GITEE_PASSWORD
gitee-password: ${{ secrets.GITEE_PASSWORD }}
# 注意替换为你的 Gitee 仓库
gitee-repo: XXGGG/XXGGG
这里面最重要的除了简单更换填写你的github跟gitee对应项目地址以外
最重要的的就是配置好你GitHub项目里的settings
->secrets
里的GITEE_RSA_PRIVATE_KEY
和 GITEE_PASSWORD
GITEE_RSA_PRIVATE_KEY
是你的私钥GITEE_PASSWORD
是你Gitee的账户密码参考文章:
https://blog.csdn.net/fenghuibian/article/details/73350890
https://gitee.com/help/articles/4181#article-header0
打开终端 或者是Git Bash (windows下载git后自带的)
ssh-keygen -t rsa -C "[email protected]"
//([email protected] 为你的邮箱)
按照提示完成三次回车,即可生成 ssh key。
通过查看 ~/.ssh/id_rsa.pub 文件内容,获取到你的公钥
cat ~/.ssh/id_rsa.pub
然后出来的一大串东西都是公钥。
去浏览器登上你的GitHub然后在settings
->SSH and GPG keys
里添加上公钥(码云gitee同理)
打开终端,测试github用
ssh -T [email protected]
测试itee用
ssh -T [email protected]
若返回 Hi XXX! You’ve successfully authenticated, but (Gitee.com/GitHub.com) does not provide shell access. 内容,则证明添加成功。
在 ~/.ssh目录下有id_rsa 和id_rsa.pub两个文件
id_rsa.pub是公钥
id_rsa 是私钥
cat ~/.ssh/id_rsa
查看私钥 然后把私钥添加到GitHub项目里的settings
->secrets
里的GITEE_RSA_PRIVATE_KEY
注意 全都要复制 别漏了 开头和结尾也要复制进去
这就可以啦 每次push都会把GitHub的整个仓库(包括分支的内容) 强制同步到Gitee上
对于Gitee Pages前提是你已经开启Gitee Pages哦 首次同步要去开一下Gitee Pages(当然前提是你是准备搞博客或者是别的项目)
如果你只是单纯想同步到Gitee 那还不如一个仓库地址绑定两个远程仓库呢
欢迎大家来看我的blog(前端萌新一只)
xxggg.github.io
xxggg.gitee.io
(文中如果出了什么问题欢迎反馈)