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

引言
  • 首先说呢,我也不想重复造轮子,
  • 但是无奈,网上博客看了一大圈,却始终没有找到自己需要的东西
需求描述
  • 最近在研究PaddleOCR项目,这个项目很优秀,很值得学习,
  • 但是有个问题,PaddleOCR仓库太大,国内网clone下来,基本搞不定。
  • 主要是里面放置的一些测试图像和字体文件,导致这个仓库异常大。
  • 如果我只想用这个仓库下的训练代码,那么岂不是让网速把自己愁死。
解决方法
采用Github Actions功能
  1. 新建一个新的仓库,用来放置去除大文件后的PaddleOCR代码
  2. 写好自动抓取PaddleOCR指定分支代码的脚本,因为Github Actions所用的服务器是在国外,因此网速较快
  3. 将其暂时训练用不到的代码删除
  4. 将剩下的代码推到指定仓库下
  5. 做成定成任务,每天7点定时抓取
具体代码

来源:使用 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: CI
    
    on:
      push: 
        branches: [ main ]
      schedule:
        - cron: '0 0 * * *'  # 每天上午9点,自动开始执行
    
    jobs:
    
      build:
        runs-on: ubuntu-latest
    
        steps:
        - name: Set SSH Environment
          env:
            DEPLOY_KEYS_PADDLE: ${{ secrets.DEPLOY_KEYS_PADDLE }}
          run: |
            mkdir -p ~/.ssh/
            echo "$DEPLOY_KEYS_PADDLE" > ~/.ssh/id_rsa
            chmod 600 ~/.ssh/id_rsa
            chmod 700 ~/.ssh && chmod 600 ~/.ssh/*
    
        - name: Clone and Clean PaddleOCR
          run: |
            git clone https://github.com/PaddlePaddle/PaddleOCR.git release/2.1
            cd release/2.1
            rm *.py
            rm LICENSE
            rm MAN*
            rm -r deploy
            rm -r PPOCRLabel
            rm -r StyleText
            rm .clang*
            rm .pre*
            rm .style*
            rm -r doc/datasets
            rm -r doc/demo
            rm -r doc/doc_en
            rm -r doc/fonts
            rm -r doc/imgs
            rm -r doc/imgs_en
            rm -r doc/imgs_words
            rm -r doc/imgs_words_en
            rm -r doc/tricks
            rm doc/*.png
            rm doc/*.PNG
            rm doc/*.pdf
            rm README.md
            mv README_ch.md README.md
            
            git config --global user.name "SWHL"
            git config --global user.email "liekkaskono@163.com"
            git remote remove origin
            git remote add origin git@github.com:SWHL/OnlyPaddleOCR.git
            
            git add .
            git commit -m 'update'
            git push -f origin release/2.1  # 强制推送
    
总结
  • Github Actions的确比较良心,相当于一个配置不错的服务器
  • 可以用它来做很多事情,目前还在探索中
参考资料
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值