一款实用的 GitHub Actions 小工具:Gitee Pages Actions

简介: 使用 GitHub Pages 时,每当项目有更新,GitHub 会自动帮我们重新部署 GitHub Pages。对于国内的 Gitee Pages,一般情况下无法自动部署,除非我们开通 Gitee Pages Pro 功能。而 Pro 功能的开通,需要满足以下其中一个条件

使用 GitHub Pages 时,每当项目有更新,GitHub 会自动帮我们重新部署 GitHub Pages。对于国内的 Gitee Pages,一般情况下无法自动部署,除非我们开通 Gitee Pages Pro 功能。而 Pro 功能的开通,需要满足以下其中一个条件:


花钱开通 Pro 功能,¥ 99/年。


Gitee 项目足够优秀,得到 Gitee 官方的推荐,那么 Gitee 就会提示“您的项目为推荐项目,已自动为您开通 Gitee Pages Pro”。


为了帮助更多朋友实现 Gitee Pages 的自动部署,我开发了 Gitee Pages Action[1],只需要在项目的 Settings 页面下配置 keys,然后在 .github/workflows/ 下创建一个工作流,引入一些配置参数即可。


目前,Doocs 旗下的多个仓库都使用了 Gitee Pages Action 成功进行自动部署,如:jvm[2], advanced-java[3]。若有使用上的问题,可以直接在文章底下评论区留言,也可以到 Issues[4] 区反馈。


注:首次需要手动登录 Gitee 点击构建。


项目地址


https://github.com/yanglbme/gitee-pages-action


0.png


入参


参数 描述 是否必传 默认值
gitee-username Gitee 用户名 -
gitee-password Gitee 密码 -
gitee-repo Gitee 仓库 -
branch 构建的分支 master
directory 构建的目录 ''
https 是否强制 HTTPS true


示例


以下是一个完整示例。


在你的 GitHub 仓库 .github/workflows/ 文件夹下创建一个 sync.yml 文件,内容如下:


name: Sync
on:  push:    branches: [ master ]
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:doocs/advanced-java.git"          # 注意替换为你的 Gitee 目标仓库地址          destination-repo: "git@gitee.com:Doocs/advanced-java.git"
    - name: Build Gitee Pages      uses: yanglbme/gitee-pages-action@master      with:          # 注意替换为你的 Gitee 用户名          gitee-username: yanglbme          # 注意在 Settings->Secrets 配置 GITEE_PASSWORD          gitee-password: ${{ secrets.GITEE_PASSWORD }}          # 注意替换为你的 Gitee 仓库          gitee-repo: doocs/advanced-java


先使用 wearerequired/git-mirror-action 将 GitHub 仓库同步到 Gitee 仓库,再使用 yanglbme/gitee-pages-action实现 Gitee Pages 的自动部署。


请确保在 GitHub 项目的 Settings -> Secrets 路径下配置好 GITEE_RSA_PRIVATE_KEY 以及 GITEE_PASSWORD 两个密钥。其中:


GITEE_RSA_PRIVATE_KEY: 存放你的 id_rsa 私钥。

GITEE_PASSWORD: 存放你的 Gitee 账户密码。


1.png


如果一切配置正常,并成功触发 Gitee Pages Action,我们可能会收到一封来自 Gitee 的告警邮件/站内信。放心,这是 GitHub Action 程序帮我们登录到 Gitee 官网,并为我们点击了项目的部署按钮。


2.png


引用链接


[1] Gitee Pages Action: https://github.com/marketplace/actions/gitee-pages-action


[2] jvm: https://github.com/doocs/jvm/blob/master/.github/workflows/sync.yml


[3] advanced-java: https://github.com/doocs/advanced-java/blob/master/.github/workflows/sync.yml


[4] Issues: https://github.com/yanglbme/gitee-pages-action/issues

目录
相关文章
|
10天前
|
JSON 缓存 JavaScript
使用 jsDelivr 免费加速 GitHub Pages 博客的静态资源(二)
使用 jsDelivr 加速 GitHub Pages 的图片资源和动态编译的 JSON 资源。
13 2
|
24天前
|
JavaScript API 开发工具
使用GitHub Actions自动发布electron多端安装程序
使用GitHub Actions自动发布electron多端安装程序
27 8
利用 GitHub Actions 自动化你的软件开发流程
GitHub Actions 是由 GitHub 提供的自动化工具,可让你在仓库中触发和执行自动化工作流程,如自动运行测试和部署应用。其核心概念包括工作流程(定义在 YAML 文件中的一系列自动化步骤)、作业和步骤。本文将指导你如何设置和使用 GitHub Actions,并提供实用的自动化示例,帮助你提高开发效率和代码质量。通过简单的配置文件,你可以实现自动运行测试、部署应用甚至自动合并 Pull Requests。
利用 GitHub Actions 自动化你的软件开发流程
在现代软件开发中,自动化是提升效率与质量的关键。GitHub Actions 作为 GitHub 的强大自动化工具,允许你在仓库中自动执行多种任务,如测试、打包、部署代码及自动合并 Pull Requests。本文介绍了 GitHub Actions 的核心概念、设置方法及其实用示例,帮助你快速上手并优化开发流程。通过 YAML 文件定义的工作流程可显著提高工作效率和代码质量。
|
27天前
为什么 GitHub Pages 的文章标题不能以 @ 开头?
本文记录了一个 GitHub Pages 博客网页上文章标题以 `@` 开头导致的问题,并分析了原因,提供了解决方法。
41 0
|
29天前
|
数据采集 应用服务中间件 Go
开源的键鼠共享工具「GitHub 热点速览」
开源的键鼠共享工具「GitHub 热点速览」
|
2月前
|
开发者
利用 GitHub Actions 自动化你的软件开发流程
在快速发展的软件开发环境中,自动化对于提升效率与质量至关重要。GitHub Actions 作为一款强大的工具,能帮助开发者实现从自动运行测试到部署应用等工作的自动化。本文详细介绍了 GitHub Actions 的核心概念、设置方法及实际应用示例,如自动测试、部署和合并 Pull Requests,助力提升开发流程的自动化水平。
|
2月前
|
Shell 网络安全 开发工具
Git,GitHub,Gitee&IDEA集成Git
Git提交项目到GitHub简洁版、版本控制、安装、常用命令、分支、团队协作机制、Github、Gitee远程仓库、IDEA集成Git、IDEA集成Github、IDEA集成Gitee
Git,GitHub,Gitee&IDEA集成Git
利用 GitHub Actions 自动化你的软件开发流程
GitHub Actions 是 GitHub 提供的自动化工具,可在仓库中触发和执行工作流程,包括自动运行测试、部署应用等。其核心概念包括工作流程(Workflow)、作业(Job)和步骤(Step),均定义在 YAML 文件中。本文将指导你如何设置和使用 GitHub Actions,并提供自动运行测试、部署应用及合并 Pull Requests 的示例,帮助提高开发效率和代码质量。
|
3月前
|
Java Spring 传感器
AI 浪潮席卷,Spring 框架配置文件管理与环境感知,为软件稳定护航,你还在等什么?
【8月更文挑战第31天】在软件开发中,配置文件管理至关重要。Spring框架提供强大支持,便于应对不同环境需求,如电商项目的开发、测试与生产环境。它支持多种格式的配置文件(如properties和YAML),并能根据环境加载不同配置,如数据库连接信息。通过`@Profile`注解可指定特定环境下的配置生效,同时支持通过命令行参数或环境变量覆盖配置值,确保应用稳定性和可靠性。
59 0