利用Github Actions部署自动更新PaddleOCR指定代码到指定仓库
目录
- 引言
- 需求描述
- 解决方法
- 采用Github Actions功能
- 具体代码
- 总结
- 参考资料
引言
- 首先说呢,我也不想重复造轮子,
- 但是无奈,网上博客看了一大圈,却始终没有找到自己需要的东西
需求描述
- 最近在研究PaddleOCR项目,这个项目很优秀,很值得学习,
- 但是有个问题,PaddleOCR仓库太大,国内网clone下来,基本搞不定。
- 主要是里面放置的一些测试图像和字体文件,导致这个仓库异常大。
- 如果我只想用这个仓库下的训练代码,那么岂不是让网速把自己愁死。
解决方法
采用Github Actions功能
- 新建一个新的仓库,用来放置去除大文件后的PaddleOCR代码
- 写好自动抓取PaddleOCR指定分支代码的脚本,因为Github Actions所用的服务器是在国外,因此网速较快
- 将其暂时训练用不到的代码删除
- 将剩下的代码推到指定仓库下
- 做成定成任务,每天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指定代码到指定仓库相关推荐
- 利用GitHub Actions每天自动从Pixiv爬虫日推图片并存放到仓库
近期注意到有很多使用Python语言编写的爬虫,用来获取Pixiv日推的图片.这里也找了一个大佬开发的这个爬虫:https://blog.csdn.net/weixin_45826022/articl ...
- 利用 Github Actions 自动更新 docfx 文档
利用 Github Actions 自动更新 docfx 文档 Intro docfx 是微软出品一个 .NET API 文档框架,有一个理念是代码即文档,会根据项目代码自动生成 API 文档,即使没 ...
- 通过 Github Actions 部署 Mkdocs 文档
Mkdocs 是一个采用 Python 构建轻量级的静态 HTML 在线文档框架,内置部署到 Github Pages 的功能.我用来创建实践指南,用来做个人的知识积累. 安装 Mkdocs 以及 M ...
- GL-SF1200 路由器 利用 github actions 自编译软件包并安装
背景介绍 GL-SF1200 路由器使用了siflower的SF19A28国产芯片,虽然也是mips架构,但由于经过了魔改,不论是mips_24kc还是mipsel_24kc的elf均无法在其上运行. ...
- 利用python和Tushare自动更新A股每日数据
利用python和Tushare自动更新A股每日数据 tushare ID :423004 所需接口 整体思路为: 1.利用stock_basic获取ts_code,获得沪深全部上市公司股票代码 2. ...
- Vue项目自动部署【精简版】NuxtJS + GitHub Actions + Linux 自动部署学习(包含阿里云Linux ECS购买过程、传统部署流程、pm2、Github Actions)
购买阿里云Linux服务器 如果已有服务器请直接跳转到[传统部署方式] 登录阿里云,访问 云服务器 ECS 购买地址:https://ecs-buy.aliyun.com/ 也可从首页导航菜单进入. ...
- nodejs 版利用 github actions 进行百度贴吧自动签到
nodejs + github actions 实现百度贴吧自动签到 前段时间想用云函数的方式进行百度贴吧的签到,无奈云函数的超时时间最多只能为60秒,还没开始签就结束了,所以就改用了 github ...
- GitHub Actions 部署 VuePress 文档
GitHub Actions 是 GitHub 的持续集成服务,于2018年10月推出.这些天,我一直在试用,觉得它非常强大,有创意,比 Travis CI 玩法更多. 本文是一个简单教程,演示如何使 ...
- 利用 GitHub Actions 在 GitHub 上进行加密挖矿?
整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) GitHub Actions,自 2019 年微软推出以来,一直广受开发者好评. GitHub Actions 是 GitHub Uni ...
最新文章
- linux mv 环境变量,linux环境变量,cp,mv命令,more,less,cat,tail,head,的使用...
- mof提权原理及其过程
- 异常: cv::Exception,位于内存位置 0x00000059E67CE590 处。
- 百度地图api之如何自定义标注图标
- 为什么说拥抱.NET CORE的时候到了
- java求两个数组的并集、交集、差集
- JSP+JavaBean+Servlet+Oracle新增功能中对Date类型的字段的处理
- deb方式安装openjdk8
- Java中方法与数组
- FPGA入门实验试验报告
- 关于NXP公司的IMX6系列芯片参考资料体系介绍
- 0ctf-2017-babyheap图解
- java cnzz_cnzz 模拟请求登录(传入url get data ) demo
- 橡胶接头分类和型号规格选择
- libGDX学习之路02:利用Tiled绘制游戏地图
- 中年转行,拥抱互联网(上)
- 论文笔记---Topological acoustics
- 修改idea的启动参数,让你的idea健步如飞
- ENVI背景值nodata或NAN解决方法/ArcGIS栅格影像背景颜色去除
- 东半球最好的TV桌面开源项目