github 运行python_Github Actions教程:运行python代码并Push到远端仓库
之前一篇文章介紹了AutoML論文聚合平臺AutoML論文聚合平臺?zhuanlan.zhihu.com
因為頻繁修改html文件很麻煩,所以這個平臺是使用一個python腳本來生成。
具體生成的方法是python腳本會讀取目錄下的csv文件,將每一行數據解析成固定格式,然后生成html文件,最后需要將修改后的文件自動push到github。但是每次push之前都需要運行python文件,這很繁瑣,所以后面使用Github Actions來實現了自動化部署。具體步驟邏輯如下:本地修改csv文件,然后push到github
push操作會觸發實現設定好的action運行python腳本,生成新的html文件
將修改后的文件再次push到遠端倉庫
action代碼設置如下:
name: Python application
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: checkout actions
- uses: actions/checkout@v1
- name: Set up Python 3.7
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: Update paper list
run: |
cd paper_infos
python generate_tables.py
- name: commit
run: |
git config --global user.email 1435679023@qq.com
git config --global user.name marsggbo
git add .
git commit -m "update" -a
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
代碼解釋:第一行name: 隨便可以設置,就是你的action名字
on: 觸發條件,我這里設置的是push操作一旦發生就出發
jobs: Github Actions的層級關系是這樣的: workflow/jobs/steps/action。 注意將action和Github Actions中的Actions區分開來,二者是不同的概念,action就表示最低level的動作,Actions就是Github給我們提供的一個功能的名字而已。
steps:和jobs類似。可以看到steps由若干個step組成,每個step都可以設置name
uses:這個表示使用別人預先設置好的Actions,比如因為我代碼中要用到python,所以就用了actions/setup-python@v1來設置python環境,不用我自己設置了。
run: 表示具體運行什么命令行代碼可以看到,我首先在名字為Update paper list里運行了python腳本
之后對github文件夾做了commit
最后使用別人的actions把更新后的代碼再次push到github
最后一行github_token需要注意,這個弄了我好一會才明白,這個其實就相當于你的密碼吧。這個設置方法是進入你在個人設置頁面(即Settings,不是倉庫里的Settings),選擇Developer settings>Personal access tokens>Generate new token,設置名字為GITHUB_TOKEN,然后勾選repo,admin:repo_hook,workflow等選項,最后點擊Generate token即可。
MARSGGBO?原創
如有意合作,歡迎私戳
郵箱:marsggbo@foxmail.com
2019-12-24 11:25:45
總結
以上是生活随笔為你收集整理的github 运行python_Github Actions教程:运行python代码并Push到远端仓库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 排队问题解题思路_三大策略、5个技巧,完
- 下一篇: vim编写python没有代码提示_vi