1.【折腾记录】Gitee Pages自动同步GitHub Pages的内容 2020-08-16


title: 1.【折腾记录】Gitee Pages自动同步GitHub Pages的内容
author: ‘谢夏戈’
date: 2020-08-16
sidebar: ‘auto’
categories:

  • 折腾记录

tags:

  • GitHub

Gitee Pages自动同步GitHub Pages的内容

遇到的问题!(可以跳过不看,或看参考文章的)

因为国内无法访问到GitHub Pages的原因。
我把GitHub仓库 同步到了 码云-Gitee 并且启用 Gitee Pages

我想同时更新两个仓库,也就是两个博客。。。

  • 之前用的方法是 一个本地仓库绑定两个远程仓库(GitHub和Gitee)

但由于我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_KEYGITEE_PASSWORD

  • GITEE_RSA_PRIVATE_KEY 是你的私钥
  • GITEE_PASSWORD 是你Gitee的账户密码

如何得到私钥公钥

参考文章:
https://blog.csdn.net/fenghuibian/article/details/73350890
https://gitee.com/help/articles/4181#article-header0

第一步 生成SSH Key

打开终端 或者是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 和 gitee

去浏览器登上你的GitHub然后在settings->SSH and GPG keys里添加上公钥(码云gitee同理)

第三步 测试是否配置成功 ssh -T [email protected]

打开终端,测试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

(文中如果出了什么问题欢迎反馈)

你可能感兴趣的:(github,ssh)