开发了一款小众开源工具,没想到还有这么多人用!

Doocs开源社区

共 3420字,需浏览 7分钟

 · 2021-01-11

由于 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-usernameGitee 用户名
gitee-passwordGitee 密码
gitee-repoGitee 仓库(严格区分大小写)
branch要部署的分支(分支必须存在)
directory要部署的分支上的目录
https是否强制使用 HTTPS

示例

以下是一个完整示例。

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

name: Syncon: page_buildjobs:  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 开源社区」,第一时间跟你们分享好玩、实用的技术文章与业内最新资讯。



浏览 41
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报