由于 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: 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