目录

  • 引言
  • 需求描述
  • 解决方法
    • 采用Github Actions功能
    • 具体代码
  • 总结
  • 参考资料

引言

  • 首先说呢,我也不想重复造轮子,
  • 但是无奈,网上博客看了一大圈,却始终没有找到自己需要的东西

需求描述

  • 最近在研究PaddleOCR项目,这个项目很优秀,很值得学习,
  • 但是有个问题,PaddleOCR仓库太大,国内网clone下来,基本搞不定。
  • 主要是里面放置的一些测试图像和字体文件,导致这个仓库异常大。
  • 如果我只想用这个仓库下的训练代码,那么岂不是让网速把自己愁死。

解决方法

采用Github Actions功能
  1. 新建一个新的仓库,用来放置去除大文件后的PaddleOCR代码
  2. 写好自动抓取PaddleOCR指定分支代码的脚本,因为Github Actions所用的服务器是在国外,因此网速较快
  3. 将其暂时训练用不到的代码删除
  4. 将剩下的代码推到指定仓库下
  5. 做成定成任务,每天7点定时抓取
具体代码
  • 新建仓库OnlyPaddleOCR
  • 部署公钥和密钥

来源:使用 GitHub Actions 实现博客自动化部署

  • 在自己电脑上执行以下命令,会产生两个文件私钥:gh-pages和公钥:gh-pages.pub
    ssh-keygen -t rsa -b 4096 -C "xxxx@163.com" -f gh-pages -N ""
  • 然后打开blog-pages 仓库页面,找到顶部导航中的 Settings,点击后选择 Deploy keys,点击 Add deploy key贴入公钥文件的内容。
  • 还需要在 blog这个私有仓库的 Settings - Secrets - New secret 界面添加私钥。其中 Name 一栏我叫 DEPLOY_KEYS_PADDLE,你也可以改别的,但是要同样替换掉下面 GitHub Actions 配置里的名字。
  • 开启一个Github Actions,具体代码为

    # This is a basic workflow to help you get started with Actions
    name: CIon:push: branches: [ main ]schedule:- cron: '0 0 * * *'  # 每天上午9点,自动开始执行jobs:build:runs-on: ubuntu-lateststeps:- name: Set SSH Environmentenv:DEPLOY_KEYS_PADDLE: ${{ secrets.DEPLOY_KEYS_PADDLE }}run: |mkdir -p ~/.ssh/echo "$DEPLOY_KEYS_PADDLE" > ~/.ssh/id_rsachmod 600 ~/.ssh/id_rsachmod 700 ~/.ssh && chmod 600 ~/.ssh/*- name: Clone and Clean PaddleOCRrun: |git clone https://github.com/PaddlePaddle/PaddleOCR.git release/2.1cd release/2.1rm *.pyrm LICENSErm MAN*rm -r deployrm -r PPOCRLabelrm -r StyleTextrm .clang*rm .pre*rm .style*rm -r doc/datasetsrm -r doc/demorm -r doc/doc_enrm -r doc/fontsrm -r doc/imgsrm -r doc/imgs_enrm -r doc/imgs_wordsrm -r doc/imgs_words_enrm -r doc/tricksrm doc/*.pngrm doc/*.PNGrm doc/*.pdfrm README.mdmv README_ch.md README.mdgit config --global user.name "SWHL"git config --global user.email "liekkaskono@163.com"git remote remove origingit remote add origin git@github.com:SWHL/OnlyPaddleOCR.gitgit add .git commit -m 'update'git push -f origin release/2.1  # 强制推送
    

总结

  • Github Actions的确比较良心,相当于一个配置不错的服务器
  • 可以用它来做很多事情,目前还在探索中

参考资料

  • 使用 GitHub Actions 实现博客自动化部署
  • GitHub Actions,卧槽!牛批!
  • Github Actions官方文档
  • GitHub Actions 部署爬虫并定时发送邮件
  • github actions 简易入门及自动部署博客实践

利用Github Actions部署自动更新PaddleOCR指定代码到指定仓库相关推荐

  1. 利用GitHub Actions每天自动从Pixiv爬虫日推图片并存放到仓库

    近期注意到有很多使用Python语言编写的爬虫,用来获取Pixiv日推的图片.这里也找了一个大佬开发的这个爬虫:https://blog.csdn.net/weixin_45826022/articl ...

  2. 利用 Github Actions 自动更新 docfx 文档

    利用 Github Actions 自动更新 docfx 文档 Intro docfx 是微软出品一个 .NET API 文档框架,有一个理念是代码即文档,会根据项目代码自动生成 API 文档,即使没 ...

  3. 通过 Github Actions 部署 Mkdocs 文档

    Mkdocs 是一个采用 Python 构建轻量级的静态 HTML 在线文档框架,内置部署到 Github Pages 的功能.我用来创建实践指南,用来做个人的知识积累. 安装 Mkdocs 以及 M ...

  4. GL-SF1200 路由器 利用 github actions 自编译软件包并安装

    背景介绍 GL-SF1200 路由器使用了siflower的SF19A28国产芯片,虽然也是mips架构,但由于经过了魔改,不论是mips_24kc还是mipsel_24kc的elf均无法在其上运行. ...

  5. 利用python和Tushare自动更新A股每日数据

    利用python和Tushare自动更新A股每日数据 tushare ID :423004 所需接口 整体思路为: 1.利用stock_basic获取ts_code,获得沪深全部上市公司股票代码 2. ...

  6. Vue项目自动部署【精简版】NuxtJS + GitHub Actions + Linux 自动部署学习(包含阿里云Linux ECS购买过程、传统部署流程、pm2、Github Actions)

    购买阿里云Linux服务器 如果已有服务器请直接跳转到[传统部署方式] 登录阿里云,访问 云服务器 ECS 购买地址:https://ecs-buy.aliyun.com/ 也可从首页导航菜单进入. ...

  7. nodejs 版利用 github actions 进行百度贴吧自动签到

    nodejs + github actions 实现百度贴吧自动签到 前段时间想用云函数的方式进行百度贴吧的签到,无奈云函数的超时时间最多只能为60秒,还没开始签就结束了,所以就改用了 github ...

  8. GitHub Actions 部署 VuePress 文档

    GitHub Actions 是 GitHub 的持续集成服务,于2018年10月推出.这些天,我一直在试用,觉得它非常强大,有创意,比 Travis CI 玩法更多. 本文是一个简单教程,演示如何使 ...

  9. 利用 GitHub Actions 在 GitHub 上进行加密挖矿?

    整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) GitHub Actions,自 2019 年微软推出以来,一直广受开发者好评. GitHub Actions 是 GitHub Uni ...

最新文章

  1. linux mv 环境变量,linux环境变量,cp,mv命令,more,less,cat,tail,head,的使用...
  2. mof提权原理及其过程
  3. 异常: cv::Exception,位于内存位置 0x00000059E67CE590 处。
  4. 百度地图api之如何自定义标注图标
  5. 为什么说拥抱.NET CORE的时候到了
  6. java求两个数组的并集、交集、差集
  7. JSP+JavaBean+Servlet+Oracle新增功能中对Date类型的字段的处理
  8. deb方式安装openjdk8
  9. Java中方法与数组
  10. FPGA入门实验试验报告
  11. 关于NXP公司的IMX6系列芯片参考资料体系介绍
  12. 0ctf-2017-babyheap图解
  13. java cnzz_cnzz 模拟请求登录(传入url get data ) demo
  14. 橡胶接头分类和型号规格选择
  15. libGDX学习之路02:利用Tiled绘制游戏地图
  16. 中年转行,拥抱互联网(上)
  17. 论文笔记---Topological acoustics
  18. 修改idea的启动参数,让你的idea健步如飞
  19. ENVI背景值nodata或NAN解决方法/ArcGIS栅格影像背景颜色去除
  20. 东半球最好的TV桌面开源项目

热门文章

  1. 远程桌面连接无法显示本地磁盘终极解决
  2. npm ERR! code ERESOLVEnpm ERR! ERESOLVE could not resolve dependency
  3. python爬虫登录微博_python爬虫-模拟微博登录功能
  4. 题解-表达式括号匹配
  5. 业务模块卸载失败定位过程
  6. cuda矩阵相乘_CUDA入门实战2:将矩阵乘法速度提升5000倍
  7. 网页地址栏ico图标设置
  8. 扎心了!互联网公司福利缩水指南
  9. android移动端与服务端通信保持Session会话
  10. 2021.03青少年软件编程(Python)等级考试试卷(二级)