貌似默认github action只有读权限,而没有写权限。'
修改下面的位置:
但好像没什么用:
因为在colab中测试代码是正常的:
解决
只需要在yml文件中run的时候,添加下面的内容:
git config user.name github-actions
git config user.email github-actions@github.com
git add .
git commit -m "crongenerated"
git push
完整yml文件
name: selenium
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
# Allows you to run this workflow manually from the Actions tab
# workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Checkout
uses: actions/checkout@v2
# Runs a single command using the runners shell
- name: 'Set up Python'
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: 'Working'
run: |
sudo cp -p ./chrome/chromedriver /usr/bin/
chmod -R 777 /usr/bin/chromedriver
python ./chrome/get_path.py
git config user.name github-actions
git config user.email github-actions@github.com
git add .
git commit -m "crongenerated"
git push
最终会保存在当前仓库中最外面的文件夹中,而不是py文件目录下。
参考链接1 参考链接2
注意:
对于自己的自动更新chromedriver的程序,还是不对。
已经解决:,相关代码如下:
name: selenium
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
schedule:
- cron: "0 21 * * *" # scheduled at 05:00 (UTC+8) everyday #每天早上5点整挂起任务
# Allows you to run this workflow manually from the Actions tab
# workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Checkout
uses: actions/checkout@v2
# Runs a single command using the runners shell
- name: 'Set up Python'
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: 'Install requirements'
run: pip install -r ./spider/requirements.txt
- name: Download
run: |
python ./chrome/GetChromedriver.py
git config user.name github-actions
git config user.email github-actions@github.com
git add .
git commit -m "crongenerated"
git push
如果想要mv
移动文件,也要添加git更新的内容。如下所示;
mv ./chromedriver ./chrome/chromedriver
git config user.name github-actions
git config user.email github-actions@github.com
git add .
git commit -m "crongenerated"
git push
所以,需要下载加上移动的话,最后加上git的内容即可。
- name: Download
run: |
python ./chrome/GetChromedriver.py
mv ./chromedriver ./chrome/chromedriver
git config user.name github-actions
git config user.email github-actions@github.com
git add .
git commit -m "crongenerated"
git push
如果不需要保存文件,只是需要在过程中使用这个中间文件
总结
如果是想保存下来文件,自己后面可以从仓库中下载到本地,就用上面需要添加的几行到yaml文件中;如果只是在程序中使用,就直接使用就行,不用多添加那几行。