您可以使用 GitHub Actions 工作流来运行脚本和 shell 命令,这些命令随后在分配的运行器上执行。此示例演示如何使用 run
关键字在运行器上执行命令 npm install -g bats
。
jobs:
example-job:
runs-on: ubuntu-latest
steps:
- run: npm install -g bats
要使用工作流运行存储在存储库中的脚本,您必须首先将存储库检出到运行器。完成此操作后,您可以使用run
关键字在运行器上运行脚本。以下示例运行两个脚本,每个脚本都在一个单独的作业步骤中。脚本在运行器上的位置通过为运行命令设置默认工作目录来指定。有关更多信息,请参阅“设置默认 shell 和工作目录”。
jobs:
example-job:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./scripts
steps:
- name: Check out the repository to the runner
uses: actions/checkout@v4
- name: Run a script
run: ./my-script.sh
- name: Run another script
run: ./my-other-script.sh
您希望工作流作业运行的任何脚本都必须是可执行的。您可以通过在工作流中将脚本作为参数传递给将运行脚本的解释器来实现此目的 - 例如,run: bash script.sh
- 或通过使文件本身可执行来实现此目的。您可以使用命令git update-index --chmod=+x PATH/TO/YOUR/script.sh
在本地授予文件执行权限,然后将文件提交并推送到存储库。或者,对于在 Linux 和 Mac 运行器上运行的工作流,您可以在运行脚本之前,在工作流作业中添加一个命令来授予文件执行权限。
jobs:
example-job:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./scripts
steps:
- name: Check out the repository to the runner
uses: actions/checkout@v4
- name: Make the script files executable
run: chmod +x my-script.sh my-other-script.sh
- name: Run the scripts
run: |
./my-script.sh
./my-other-script.sh
有关run
关键字的更多信息,请参阅“GitHub Actions 的工作流语法”。