利用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

目录
相关文章
|
3天前
|
前端开发 微服务 Python
轻松搜寻GitHub宝藏!掌握这些技巧快速找到理想项目
轻松搜寻GitHub宝藏!掌握这些技巧快速找到理想项目
告别龟速,从GitHub快速下载项目的技巧分享,简单又高效!
告别龟速,从GitHub快速下载项目的技巧分享,简单又高效!
|
5天前
|
Shell 开发工具 git
如何将本地项目上传到github上
如何将本地项目上传到github上
|
5天前
如何在Github上删除一个仓库
如何在Github上删除一个仓库
|
15天前
|
算法 程序员 开发工具
GitHub上新!14个Python项目详细教程(附完整代码)
Python作为程序员的宠儿,越来越得到人们的关注,使用Python进行应用程序开发的也越来越多。 今天给小伙伴们分享的这份项目教程完整代码已上传至GitHub,你可以选择跟着这份教程一段一段的手敲出来这几个项目,也可以直接从GitHub上copy下来。
|
18天前
|
Shell 开发工具 git
[oeasy]python019_ 如何在github仓库中进入目录_找到程序代码_找到代码
本文档介绍了如何在终端环境下使用Git克隆仓库后,通过`cd`、`pwd`和`ls`命令导航并找到下载的文件。首先,使用`ls`查看当前目录,然后通过`cd`逐层进入目标文件夹,最后到达包含游戏文件game.py的位置。文章还提到了如果`git clone`失败,可以直接进行下一节实验。
21 0
|
24天前
|
算法 程序员 开发工具
GitHub上新!14个Python项目详细教程(附完整代码)
Python作为程序员的宠儿,越来越得到人们的关注,使用Python进行应用程序开发的也越来越多。 今天给小伙伴们分享的这份项目教程完整代码已上传至GitHub,你可以选择跟着这份教程一段一段的手敲出来这几个项目,也可以直接从GitHub上copy下来。
|
24天前
|
SQL 关系型数据库 Java
实时计算 Flink版操作报错之在阿里云DataHub平台上执行SQL查询GitHub新增star仓库Top 3时不显示结果,是什么原因
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
24天前
|
人工智能 Linux 开发工具
[oeasy]python018_ 如何下载github仓库_git_clone_下载仓库
在这个文档中,作者讨论了如何继续进行编程学习,特别是关于GitHub的使用。首先,回顾了从编写简单代码到管理大量代码的过程。然后,提到了通过“保存运行一条龙”操作来处理代码,以及GitHub作为全球最大的开源软件平台的重要性。在GitHub上,用户可以找到各种软件项目,包括Linux、Python和Blender等。 作者解释了GitHub的基本操作,如点赞(star)、 fork(复制项目)和watch(关注项目更新)。还介绍了如何下载项目到本地,通过`git clone`命令复制仓库的URL并将其粘贴到终端进行下载。如果遇到问题,可以尝试更换HTTP链接或等待一段时间重试。
195 2
|
25天前
|
Shell Linux 开发工具
如何在vs上提交代码到gitee/github?
如何在vs上提交代码到gitee/github?