Einen Build-Job definieren
Zuerst werden wir unseren bestehenden Workflow aufräumen, um einen fokussierten build-Job zu haben. Wir vereinfachen die Matrix-Strategie aus dem vorherigen Lab zur besseren Übersichtlichkeit und kehren zu einer einzelnen Version zurück, um den Fokus auf Job-Abhängigkeiten zu legen.
- Klicken Sie auf der GitHub-Repository-Seite für
github-actions-demo auf die grüne Schaltfläche Code.
- Stellen Sie sicher, dass der Reiter HTTPS ausgewählt ist, und kopieren Sie die URL. Sie sollte wie
https://github.com/your-username/github-actions-demo.git aussehen.
- Öffnen Sie das Terminal in der LabEx-Umgebung. Der Standardpfad ist
~/project.
- Verwenden Sie den Befehl
git clone, um das Repository herunterzuladen. Ersetzen Sie your-username durch Ihren tatsächlichen GitHub-Benutzernamen.
cd ~/project
git clone https://github.com/your-username/github-actions-demo.git
Beispielausgabe:
Cloning into 'github-actions-demo'...
remote: Enumerating objects: X, done.
remote: Counting objects: 100% (X/X), done.
remote: Total X (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (X/X), done.
- Navigieren Sie in das geklonte Repository:
cd ~/project/github-actions-demo
-
Erstellen Sie eine neue Workflow-Datei .github/workflows/job-dependencies.yml mithilfe des WebIDE-Editors. Sie finden die Datei im Dateiexplorer auf der linken Seite unter project/github-actions-demo/.github/workflows/.
-
Beginnen Sie mit der Erstellung der grundlegenden Workflow-Struktur. Fügen Sie den Workflow-Namen und den Trigger hinzu:
name: Job Dependencies
on: [push]
- Fügen Sie den
jobs-Abschnitt hinzu und definieren Sie den build-Job mit seinem Runner:
jobs:
build:
runs-on: ubuntu-latest
- Fügen Sie den
steps-Abschnitt hinzu. Fügen Sie zuerst den Checkout-Schritt hinzu, um den Repository-Code abzurufen:
steps:
- uses: actions/checkout@v4
- Fügen Sie den Node.js-Setup-Schritt hinzu:
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
- Fügen Sie den Schritt zum Installieren der Abhängigkeiten hinzu:
- name: Install dependencies
run: npm install
- Fügen Sie den Schritt zum Ausführen der Tests hinzu:
- name: Run tests
run: npm test
- Fügen Sie den Build-Schritt hinzu, der das Artefaktverzeichnis und die Datei erstellt:
- name: Build project
run: |
mkdir dist
echo "Build artifact created at $(date)" > dist/build.txt
- Fügen Sie abschließend den Schritt zum Hochladen des Artefakts hinzu. Dieser Schritt ist entscheidend, da er die Build-Ausgabe speichert, damit der nächste Job sie verwenden kann:
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: dist-files
path: dist
Ihre vollständige Datei sollte nun wie folgt aussehen:
name: Job Dependencies
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
- name: Install dependencies
run: npm install
- name: Run tests
run: npm test
- name: Build project
run: |
mkdir dist
echo "Build artifact created at $(date)" > dist/build.txt
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: dist-files
path: dist
Erklärung
- Wir haben die
matrix-Strategie zur Vereinfachung entfernt.
- Wir haben den Schritt
Upload build artifact beibehalten. Dies ist entscheidend, da der nächste Job diese Dateien benötigen wird!
Speichern Sie die Datei (Strg+S oder Cmd+S), nachdem Sie Änderungen vorgenommen haben.