Github Actions教程:运行python代码并Push到远端仓库
<p>我自己做了一个网站,这个网站会使用一个python脚本来生成。</p><p>具体生成的方法是python脚本会读取目录下的csv文件,将每一行数据解析成固定格式,然后生成html文件,最后需要将修改后的文件自动push到github</p>
<p>当然上面所有的步骤都是自动化实现的,总结如下:</p>
<ol>
<li>我本地修改csv文件,然后push到github</li>
<li>我的push操作会触发实现设定好的action</li>
</ol>
<p>action代码设置如下:</p>
<pre><code class="language-yaml">name: Python application
on:
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 }}
</code></pre>
<p>代码解释:</p>
<ul>
<li>第一行<code>name</code>: 随便可以设置,就是你的action名字</li>
<li><code>on</code>: 触发条件,我这里设置的是<code>push</code>操作一旦发生就出发</li>
<li><code>jobs</code>: Github Actions的层级关系是这样的: workflow/jobs/steps/action。 注意将action和Github Actions中的Actions区分开来,二者是不同的概念,action就表示最低level的动作,Actions就是Github给我们提供的一个功能的名字而已。</li>
<li><code>steps</code>:和jobs类似。可以看到steps由若干个step组成,每个step都可以设置<code>name</code></li>
<li><code>uses</code>:这个表示使用别人预先设置好的Actions,比如因为我代码中要用到python,所以就用了<code>actions/setup-python@v1 </code>来设置python环境,不用我自己设置了。</li>
<li><code>run</code>: 表示具体运行什么命令行代码
<ul>
<li>可以看到,我首先在名字为<code>Update paper list</code>里运行了python脚本</li>
<li>之后对github文件夹做了commit</li>
<li>最后使用别人的actions把更新后的代码再次push到github</li>
</ul>
</li>
<li>最后一行<code>github_token</code>需要注意,这个弄了我好一会才明白,这个其实就相当于你的密码吧。这个设置方法是进入你在个人设置页面(即Settings,不是仓库里的Settings),选择<code>Developer settings</code>><code>Personal access tokens</code>><code>Generate new token</code>,设置名字为<code>GITHUB_TOKEN</code>,然后勾选<code>repo</code>,<code>admin:repo_hook</code>,<code>workflow</code>等选项,最后点击<code>Generate token</code>即可。</li>
</ul>
<blockquote>
<p>具体代码可参见marsggbo/automl_a_survey_of_state_of_the_art</p>
</blockquote>
<footer style="color: rgba(255, 255, 255, 1); background-color: rgba(24, 24, 24, 1); padding: 10px; border-radius: 10px"><br>
<h3 style="text-align: center; color: rgba(255, 99, 71, 1); font-size: 16px" id="autoid-2-0-0"><br>
<b>MARSGGBO</b><b style="color: rgba(255, 255, 255, 1)"><span style="font-size: 25px">♥</span>原创</b><br>
<br><br>
<p>如有意合作,欢迎私戳</p>
<p>邮箱:marsggbo@foxmail.com</p>
<b style="color: rgba(255, 255, 255, 1)"><br>
2019-12-24 11:25:45
<p></p>
</b><p><b style="color: rgba(255, 255, 255, 1)"></b><br>
</p></h3><br>
</footer><br><br>
来源:https://www.cnblogs.com/marsggbo/p/12090703.html
頁:
[1]