github action读写文件问题

貌似默认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文件目录下。

github action读写文件问题_git

参考链接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文件中;如果只是在程序中使用,就直接使用就行,不用多添加那几行。

上一篇:java servlet 从body中获取数据


下一篇:【Canvas与标牌】立入禁止标牌