开发了一款小众开源工具,没想到还有这么多人用!
共 3420字,需浏览 7分钟
·
2021-01-11 19:40
由于 Gitee Pages 的访问速度很快,很多朋友会选择 Gitee Pages 部署项目(如:个人博客、开源项目国内镜像站点)。但是它不像 GitHub Pages 那样,一提交代码就能自动更新 Pages,因为 Gitee 的自动部署属于 Gitee Pages Pro 的服务。
为了实现 Gitee Pages 的自动部署,我用了近百行 Python 代码开发了 Gitee Pages Action[1] ,只需要在 GitHub 项目的 Settings 页面下配置 keys,然后在 .github/workflows/
下创建一个工作流,引入一些配置参数即可。欢迎体验,若有使用上的问题,也欢迎随时在 Issues[2] 反馈。
开源地址:https://github.com/yanglbme/gitee-pages-action
注:首次需要手动登录 Gitee ,点击“启动”进行 Gitee Pages 服务的部署。
入参
参数 | 描述 |
gitee-username | Gitee 用户名 |
gitee-password | Gitee 密码 |
gitee-repo | Gitee 仓库(严格区分大小写) |
branch | 要部署的分支(分支必须存在) |
directory | 要部署的分支上的目录 |
https | 是否强制使用 HTTPS |
示例
以下是一个完整示例。
在你的 GitHub 仓库 .github/workflows/
文件夹下创建一个 .yml
文件,如 sync.yml
,内容如下:
name: Sync
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:doocs/advanced-java.git
# 注意替换为你的 Gitee 目标仓库地址
destination-repo: git@gitee.com:Doocs/advanced-java.git
- name: Build Gitee Pages
uses: yanglbme/gitee-pages-action@main
with:
# 注意替换为你的 Gitee 用户名
gitee-username: yanglbme
# 注意在 Settings->Secrets 配置 GITEE_PASSWORD
gitee-password: ${{ secrets.GITEE_PASSWORD }}
# 注意替换为你的 Gitee 仓库,仓库名严格区分大小写,请准确填写,否则会出错
gitee-repo: doocs/advanced-java
# 要部署的分支,默认是 master,若是其他分支,则需要指定(指定的分支必须存在)
branch: main
先使用 wearerequired/git-mirror-action[3] 将 GitHub 仓库同步到 Gitee 仓库,再使用 yanglbme/gitee-pages-action[4] 实现 Gitee Pages 的自动部署。
请确保在 GitHub 项目的 Settings -> Secrets 路径下配置好 GITEE_RSA_PRIVATE_KEY
以及 GITEE_PASSWORD
两个密钥。其中:
•GITEE_RSA_PRIVATE_KEY
: 存放你的 id_rsa
私钥。•GITEE_PASSWORD
: 存放你的 Gitee 帐号的密码。
如果一切配置正常,并成功触发 Gitee Pages Action[5] ,我们会在 Gitee 公众号收到一条登录通知。这是 GitHub Action 程序帮我们登录到 Gitee 官网,并为我们点击了项目的部署按钮。
注:
1.branch
参数默认是 master
,如果你是部署在 gh-pages
(或者 main
) 分支等等,务必指定 branch: gh-pages
(或者 branch: main
)。2.branch
对应的分支,必须在仓库中实际存在,请不要随意(不)指定分支,否则可能导致 Gitee Pages 站点出现 404 无法访问的情况。3.示例中触发 Action 执行的事件设置为 page_build
,你也可以根据实际情况指定为其它的触发事件。请参考 Events that trigger workflows[6]。
谁在使用
目前,蚂蚁金服-数据可视化技术团队、Doocs 开源社区等旗下的多个 GitHub 项目都在使用 Gitee Pages Action。如 antvis/g[7]、antvis/F2[8]、antvis/G6[9]、antvis/L7[10]、doocs/advanced-java[11]、doocs/leetcode[12] 等等。
当然,还有其他不少用户在使用这款工具,推荐你用用,觉得不错的话,记得点个 Star 支持一下噢~
引用链接
[1]
Gitee Pages Action: https://github.com/marketplace/actions/gitee-pages-action[2]
Issues: https://github.com/yanglbme/gitee-pages-action/issues[3]
wearerequired/git-mirror-action: https://github.com/wearerequired/git-mirror-action[4]
yanglbme/gitee-pages-action: https://github.com/yanglbme/gitee-pages-action[5]
Gitee Pages Action: https://github.com/marketplace/actions/gitee-pages-action[6]
Events that trigger workflows: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows[7]
antvis/g: https://github.com/antvis/g[8]
antvis/F2: https://github.com/antvis/F2[9]
antvis/G6: https://github.com/antvis/G6[10]
antvis/L7: https://github.com/antvis/G2Plot[11]
doocs/advanced-java: https://github.com/doocs/advanced-java[12]
doocs/leetcode: https://github.com/doocs/leetcode
长按识别下图二维码,关注公众号「Doocs 开源社区」,第一时间跟你们分享好玩、实用的技术文章与业内最新资讯。