利用GitHub 的Actions自动同步gitee仓库,并Gitee Pages 自动部署项目

简介: 本文是博主学习GitHub、gitee的记录,希望对大家有所帮助。

Gitee同步GitHub仓库

GitHub有时候访问速度慢,加载不了图片等问题。

过程记录

GitHub 的Actions会处理.github下的工作流文件夹workflows
只要在g项目根目录下创建 .github/workflows/ ,在这个文件夹里再创建Sync.yml文件,填入以下代码。
当产生push操作就会自动同步gitee

GITEE_RSA_PRIVATE_KEY 是私钥。生成步骤如下:

  1. 在命令行终端或 Git Bash 使用命令 ssh-keygen -t rsa -C "youremail@example.com" 生成 SSH Key,注意替换为自己的邮箱,连续三次回车。生成的 id_rsa 是私钥,id_rsa.pub 是公钥。(⚠️注意此处不要设置密码)
  2. 在 GitHub 项目的「​Settings -> Secrets」路径下配置好命名为 GITEE_RSA_PRIVATE_KEY 密钥。GITEE_RSA_PRIVATE_KEY 存放 id_rsa 私钥。
  3. 在 GitHub 的个人设置页面「Settings -> SSH and GPG keys」​ 配置 SSH 公钥(即:id_rsa.pub),命名随意。
  4. 在 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

目录
相关文章
怎样在GitHub上建立仓库、以及怎样实现分支代码的合并。保姆级别的教程
这篇文章是一份详细的GitHub使用教程,介绍了如何在GitHub上创建仓库、创建分支、编辑和发布更改内容、发起拉取请求以及合并分支的操作步骤。
怎样在GitHub上建立仓库、以及怎样实现分支代码的合并。保姆级别的教程
|
6天前
|
存储 API 网络架构
GitHub——通过接口获取仓库下的最新版本
GitHub——通过接口获取仓库下的最新版本
8 1
|
6天前
GitHub——使用GitHub Pages生成在线文档
GitHub——使用GitHub Pages生成在线文档
4 0
|
7天前
|
存储 开发工具 数据安全/隐私保护
解决Gitee或者Github出现Access denied fatal: unable to access,The requested URL returned error: 403
解决Gitee或者Github出现Access denied fatal: unable to access,The requested URL returned error: 403
13 0
|
12天前
|
Windows
github无法访问?vscode 无法使用github登录同步? 改 hosts 吧
github无法访问?vscode 无法使用github登录同步? 改 hosts 吧
|
2月前
|
开发工具 git
GitHub显示无法在此仓库中合并不相关的历史记录
GitHub显示无法在此仓库中合并不相关的历史记录
18 2
|
1月前
|
网络安全 开发工具 git
使用git克隆仓库报错:Warning: Permanently added‘github.com’ to the .....(ssh )
所以,你可以安全地忽略这个警告,它不会影响到你使用git克隆仓库。如果你已经成功克隆了仓库,那么一切都在正常工作。如果你在克隆过程中遇到其他问题,那可能需要查看具体的错误信息来解决。
20 0
|
2月前
|
数据安全/隐私保护 开发者 Docker
国内docker公开镜像站的关闭!别急,docker_image_pusher 使用Github Action将国外的Docker镜像转存到阿里云私有仓库
通过使用 docker_image_pusher 这样的开源项目,我们能够轻松地解决国内访问 Docker 镜像拉取速度慢及拉去失败的问题,同时保证了镜像的稳定性和安全性。利用 Github Action 的自动化功能,使得这一过程更加简单和高效。
1167 2
|
2月前
|
开发工具 git
【看这一篇就够了】如何删除gitHub仓库中的文件
【看这一篇就够了】如何删除gitHub仓库中的文件
178 1
|
2月前
|
Shell 开发工具 git
如何使用git上传代码github仓库
如何使用git上传代码github仓库