这个开源工具,为我省下了大量的时间!

简介: 此前,我维护的多个 GitHub 项目都需要同时部署 GitHub Pages 和 Gitee Pages 国内镜像站点。

此前,我维护的多个 GitHub 项目都需要同时部署 GitHub Pages 和 Gitee Pages 国内镜像站点。


对于 GitHub,当我们将项目的变更 push 到 GitHub 远程仓库时,会触发 GitHub Pages 的自动化部署,将项目的最新内容更新到 GitHub Pages 站点。如下图所示:


12.png


然而,对于 Gitee,一个头疼的问题是,虽然我们可以利用一些镜像同步脚本或工具(如:git-mirror-action)将 GitHub 项目同步至 Gitee 仓库,但我们却无法自动化部署 Gitee Pages,而必须手动登录 Gitee,并且手动点击更新


为什么呢??因为,Gitee Pages 自动化部署要收费!99 块钱一年!!如果我们想要在不交钱的情况下实现 Gitee Pages 自动化部署(白嫖?),那么按照此前,只能努力让我们的 Gitee 开源项目变得足够好,得到官方的推荐后,会显示“您的项目为推荐项目,已自动为您开通 Gitee Pages Pro”,这样就可以自动化了。


13.png


插播一个码云官方最新消息,“因业务调整,Gitee Pages Pro 暂时关闭个人用户购买入口,已开通用户的仓库不受影响。GVP 项目和付费企业使用不受影响。” 也就是说,现在想花钱图个省事都不行了。。


然而,对于很多私人博客,或者说开源项目刚创建不久的,通常来说这种项目 stars 数很少,想得到官方的推荐,呵呵,不可能!所以我开发了 Gitee Pages Action 工具,无须人工,即可实现 Gitee Pages 的自动化部署!只需要在我们的 GitHub 项目 Settings 页面下配置 keys,然后在 .github/workflows/ 下创建一个工作流,引入一些配置参数即可。


抛一下开源工具的地址,点击阅读也能直达,这个开源工具将会持续维护,欢迎关注!

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


下面我为大家详细讲一下工具的入参,以及具体如何使用,若有使用上的问题,也欢迎随时反馈。


入参


参数 描述 是否必传 默认值
gitee-username Gitee 用户名 -
gitee-password Gitee 密码 -
gitee-repo Gitee 仓库(严格区分大小写) -
branch 要部署的分支 master
directory 要部署的分支上的目录 ''
https 是否强制使用 HTTPS true


示例


以下是一个完整的使用示例。


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


name: Syncon:  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 账户密码。


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


FAQ


问题 1:遇到短信验证码导致无法自动部署,怎么解决?


因为 Gitee Pages Action 使用的是 GitHub 自家的服务器(美国),在这种情况下,当 Action 自动帮我们登录 Gitee 的时候,会触发 Gitee 帐号异常登录告警,提示用户在非正常的 IP 地址登录了 Gitee,需要输入验证码。


解决方案是:关注「码云 Gitee」 微信公众号,绑定个人微信到码云帐号。这样 Action 在登录的过程中,Gitee 就不会下发短信验证码,而是通过「码云 Gitee」公众号给我们发送一个登录通知,Action 就能成功登录了。


14.png


问题 2:报 deploy error occurred, message: 'NoneType' object has no attribute 'group' 错误,怎么办?


报了这个错误,说明 Action 已经成功帮我们登录 Gitee 帐号了,但在访问 Gitee Repo 的过程中出现问题。


这种情况,一般是 Gitee Pages Action 的参数配置错误导致,请仔细检查你的配置信息。


注意:gitee-repo 参数严格区分大小写,请准确填写,比如 doocs/advanced-java,当你写成 doocs/Advanced-java 的时候,是访问不到的,不信你可以试试访问:https://gitee.com/Doocs/Advanced-java


谁在使用?


目前,蚂蚁金服数据可视化团队有赞技术团队、还有 Doocs 开源社区等多个开源项目都在使用 Gitee Pages Action,所以,我也把它推荐给你。感兴趣的朋友,也可以 star 关注一波!


15.png

目录
相关文章
|
2月前
|
敏捷开发 开发框架 数据可视化
有哪些任务管理跟踪系统值得推荐?高效工具一览
在快节奏的工作环境中,任务管理跟踪系统成为提升生产力的关键。本文介绍了五款优秀工具:板栗看板企业版、Jira、Trello、Monday.com 和 Asana,分别从多项目管理、敏捷开发支持、操作简便性、可视化工作流及跨部门协作等方面进行分析,帮助你根据团队需求选择最合适的工具。
62 3
|
17天前
|
监控 数据可视化 项目管理
高效时间管理工具如何帮助优化日常任务管理?2024年6款最优秀软件
在快节奏的现代工作环境中,高效的时间管理和任务协作工具成为提升生产力的关键。2024年,随着工作模式的变化,企业及个人愈发依赖这些工具来优化时间管理、任务分配和团队协作。本文精选了几款高效工具,如板栗看板、ClickUp、Notion、Wrike、Todoist和Evernote,它们各自具备独特优势,适用于不同行业和规模的团队,帮助用户在繁忙的工作中保持高效和有序。
高效时间管理工具如何帮助优化日常任务管理?2024年6款最优秀软件
|
16天前
|
数据挖掘 BI 项目管理
哪些提醒软件最受欢迎?2024年5款高效工具评测与对比
随着工作节奏加快,人们越来越依赖提醒软件来管理任务和日程。本文推荐了5款2024年热门的提醒软件:板栗看板、Todoist、OmniFocus、Remember The Milk 和 Microsoft To Do。它们各自具备独特的功能,如看板管理、智能提醒、跨平台同步等,帮助用户提高工作效率。选择时需考虑平台支持、功能需求、界面设计及成本等因素。
哪些提醒软件最受欢迎?2024年5款高效工具评测与对比
|
27天前
|
开发框架 前端开发 定位技术
Flutter框架中的插件市场及开源资源的利用方法。内容涵盖插件市场的扩展功能、时间节省与质量保证
本文深入探讨了Flutter框架中的插件市场及开源资源的利用方法。内容涵盖插件市场的扩展功能、时间节省与质量保证,常见插件市场的介绍,选择合适插件的策略,以及开源资源的利用价值与注意事项。通过案例分析和对社区影响的讨论,展示了这些资源如何促进开发效率和技术进步,并展望了未来的发展趋势。
36 11
|
4月前
|
数据采集 网络协议 安全
|
5月前
|
监控 C++ 运维
开发与运维数据问题之实现商业版和开源版在发送可观测数据方面的差异如何解决
开发与运维数据问题之实现商业版和开源版在发送可观测数据方面的差异如何解决
58 1
|
人工智能 运维 监控
在日常开发工作中,日志数据该如何利用?
在日常开发工作中,日志数据是一个宝贵的资源,它可以提供关于应用程序运行状态、错误报告、性能指标和用户行为等方面的重要信息。正确地利用和分析日志数据可以帮助开发人员更好地理解应用程序的运行情况,快速定位和解决问题,改进应用程序的性能,并为业务决策提供有力支持。尤其是在现代科技发展的背景下,日志数据作为一种重要的信息资源,对于运维工作具有极大的价值。然而,如何充分利用日志数据,并将其应用于运维和开发工作中,仍然是许多企业和运维和开发人员关注的问题。那么本文就来分享一下在日常开发中关于日志数据的利用方面的探讨。
313 1
在日常开发工作中,日志数据该如何利用?
|
算法 数据安全/隐私保护 计算机视觉
超实用开发加速工具收集,分享给你吧~(一)
超实用开发加速工具收集,分享给你吧~
超实用开发加速工具收集,分享给你吧~(一)
|
数据安全/隐私保护 计算机视觉 Perl
超实用开发加速工具收集,分享给你吧~(三)
超实用开发加速工具收集,分享给你吧~
 超实用开发加速工具收集,分享给你吧~(三)
|
Web App开发 缓存 API
超实用开发加速工具收集,分享给你吧~(二)
超实用开发加速工具收集,分享给你吧~
超实用开发加速工具收集,分享给你吧~(二)
下一篇
DataWorks