Artefakte in nachfolgenden Jobs verwenden
Artefakte
Artefakte in nachfolgenden Jobs verwenden
Artefakte aus früheren Jobs werden von späteren Stages standardmäßig heruntergeladen. Verwenden Sie das Schlüsselwort needs, wenn ein Job starten soll, sobald ein benötigter Job abgeschlossen ist, und dabei nur die Artefakte dieses Jobs herunterladen soll.
Die .gitlab-ci.yml aktualisieren, um Artefakte in nachfolgenden Jobs zu verwenden
Die folgende Konfiguration gibt test_job und deploy_job ausdrücklich Zugriff auf die Artefakte von build_job:
stages:
- build
- test
- deploy
build_job:
stage: build
script:
- echo "Anwendung wird gebaut..."
- pip install -r requirements.txt
- python setup.py build --build-base build
- echo "Build abgeschlossen"
artifacts:
paths:
- build/
test_job:
stage: test
script:
- echo "Tests werden ausgeführt..."
- mkdir -p test-results
- pytest tests/ > test-results/report.txt
artifacts:
paths:
- test-results/report.txt
needs:
- job: build_job
artifacts: true
deploy_job:
stage: deploy
script:
- echo "Projekt wird bereitgestellt"
needs:
- job: build_job
artifacts: true
Erläuterung von needs:artifacts
-
needsintest_job: Der Job kann starten, sobaldbuild_jobabgeschlossen ist, und lädt dessen Artefaktbuild/herunter. -
needsindeploy_job: Behalten Sie diesen Eintrag nur bei, wenn die Bereitstellung das Build-Artefakt benötigt.
Praktische Schritte zur Umsetzung
Aktualisieren Sie Ihre Datei .gitlab-ci.yml: Verwenden Sie die oben gezeigte Konfiguration, um die bestehende .gitlab-ci.yml im Repository Ihres Taschenrechnerprojekts zu ersetzen oder anzupassen.
-
Pipeline testen: Committen und übertragen Sie die Änderungen, um die Pipeline in GitLab auszulösen. Die Jobs sollten in der durch die Stages festgelegten Reihenfolge ausgeführt werden, wobei
test_jobunddeploy_jobZugriff auf alle vonbuild_joberzeugten Artefakte haben. -
Artefakte aufrufen: Nach dem Pipeline-Durchlauf können Sie die von
build_jobundtest_joberzeugten Artefakte wie zuvor beschrieben über die GitLab-Oberfläche aufrufen.