Github action :シェルスクリプトの「許可拒否」エラーの修正


Githubのアクションのワークフローでbashスクリプトを実行しようとすると、この驚くほど曖昧な「許可を与えられなかった」と遭遇しました.😡

「パーミッション拒否」とは、スクリプトファイルが「実行」許可セットを持たないことを意味します.MacとLinuxではchmod スクリプトファイルを実行可能にするコマンドですが、Windowsはこれをサポートしません.

ハウツーとスタイル


幸運にも、GitはWindowsで動くコマンドを提供します.実行:
git update-index --chmod=+x your_script.sh
ローカルでbashスクリプトを実行可能にします.一旦あなたがあなたのGithubリポジトリに変更をコミットして、プッシュするならば、スクリプトはあなたのGithub行動で動くのを許されます.🎉
注意:このコマンドを実行して、GATHUB動作で実行するためにWindowsマシン上で作成したり、名前を変更したりするbashスクリプトに対してGITHUBに変更を押してください.

githubアクションでbashスクリプトを実行する方法


それは非常に古いですが、どのように私もGithubアクションにスクリプトを追加するには?
ここでは、実行する例のアクションですyour_script.sh スクリプトをコミットするmain あなたの倉庫のブランチ.
# https://gist.github.com/aileen-r/f74e680fb47ebc8b29a9f1cc452a5da9

# This is a basic workflow to help you get started with Actions

name: Run a shell script

# Controls when the workflow will run
on:
  # Triggers the workflow on push but only for the main branch
  push:
    branches: [ main ]

# 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
      - uses: actions/checkout@v2

      # Runs a single command using the runners shell
      - name: Run shell script
        run: ./your_script.sh

GitHubアクションに新しいならばan excellent quickstart guide .