Sie können einen GitHub Actions-Workflow verwenden, um Skripts und Shell-Befehle auszuführen, die dann auf dem zugewiesenen Runner ausgeführt werden. In diesem Beispiel wird veranschaulicht, wie eine Aktion das run
-Schlüsselwort verwenden kann, um npm install -g bats
auf dem Runner auszuführen.
jobs:
example-job:
runs-on: ubuntu-latest
steps:
- run: npm install -g bats
Um einen Workflow zum Ausführen eines in Ihrem Repository gespeicherten Skripts zu verwenden, müssen Sie zuerst das Repository für den Runner auschecken. Nachdem Sie dies getan haben, können Sie das run
Schlüsselwort verwenden, um das Skript auf dem Runner auszuführen. Im folgenden Beispiel werden zwei Skripts ausgeführt, die jeweils in einem separaten Auftragsschritt ausgeführt werden. Der Speicherort der Skripts auf dem Runner wird durch Festlegen eines Standardarbeitsverzeichnisses für Skriptausführungen angegeben. Weitere Informationen finden Sie unter Festlegen einer Standardshell und eines Arbeitsverzeichnisses.
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
Alle Skripte, die ein Workflow-Job ausführen soll, müssen durchführbar sein. Sie können dies entweder innerhalb des Workflows tun, indem Sie das Skript als Argument an den Interpreter übergeben, der das Skript ausführt (z. B. run: bash script.sh
), oder indem Sie die Datei selbst ausführbar machen. Sie können der Datei die Ausführungserlaubnis erteilen, indem Sie den Befehl git update-index --chmod=+x PATH/TO/YOUR/script.sh
lokal verwenden, die Datei dann committen und in das Repository verschieben. Alternativ können Sie für Workflows, die auf Linux- und Mac-Runnern ausgeführt werden, einen Befehl hinzufügen, um der Datei die Ausführungsberechtigung im Workflow-Auftrag zu erteilen, bevor Sie das Skript ausführen:
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
Weitere Informationen zum Schlüsselwort run
findest du unter Workflowsyntax für GitHub Actions.