Heim > Artikel > Backend-Entwicklung > Azure Pipelines: UV-Cache
Ich habe bereits darüber geschrieben, wie Sie Ihren Docker mit UV schneller erstellen können. Heute möchte ich schnell zeigen, wie Sie Ihren CI-Build für ein Python-Projekt schneller machen.
uv ist eine großartige Pip-Alternative, die bei den meisten Projekten als direkter Ersatz funktioniert. Es ist viel schneller beim Auflösen und Installieren von Python-Paketen als Pip, was besonders gut für CI-Pipelines (oder Docker-Builds) geeignet ist. Schnellere Pipelines bedeuten eine schnellere Entwicklungsdurchlaufzeit und damit eine höhere Produktivität.
Wenn Sie weiterhin dieselben Pakete in Ihrer Pipeline installieren, können Sie genauso gut den Cache wiederverwenden, den uv intern für alle Pipeline-Ausführungen verwendet.
Dazu müssen Sie den folgenden Code in Ihre azure-pipelines.yml einfügen, bevor Sie uv venv und uv pip install ausführen ... und nachdem Sie uv installiert haben:
- bash: | echo "##vso[task.setvariable variable=uv-cache-path;]$(uv cache dir)" - task: Cache@2 displayName: Cache uv inputs: key: uv cache | "$(python.version)" path: $(uv-cache-path)
Dadurch wird eine neue Variable „uv-cache-path“ mit dem Pfad zum UV-Cache festgelegt und dieser Pfad wird dann für aufeinanderfolgende Pipeline-Läufe zwischengespeichert. Ich gehe davon aus, dass Sie die von Ihnen verwendete Python-Version in einer Variablen namens python.version speichern. Sie können dies auch direkt durch die von Ihnen verwendete Python-Version ersetzen. Achten Sie jedoch darauf, die Version in Anführungszeichen zu setzen, da die Aufgabe die Version sonst als Pfad interpretiert.
Schließlich können wir eine neue Funktion verwenden, um den Cache zu bereinigen, bevor wir ihn hochladen. Dadurch wird die Dateigröße des Caches verringert, was das Hoch- und Herunterladen des Caches beschleunigt und Ihnen somit wahrscheinlich Zeit spart. Sie sollten uv cache prune --ci vor dem Ende Ihres Pipeline-Jobs ausführen:
- script: uv cache prune --ci
Zusammenfassend lässt sich sagen, dass der erste Schritt die Verwendung von UV sein sollte, wenn Sie Ihre Python-Pipeline schneller machen möchten. Sie können einfach die Pip-Aufrufe durch UV-Pip ersetzen und sehen, wie viel schneller Ihre Pipeline dadurch wird.
Wenn Sie viele Pakete installieren, die umfangreiche Build-Schritte erfordern, kann es sich lohnen, den UV-Cache wiederzuverwenden. Dazu können Sie die von Azure Pipelines bereitgestellte Cache@2-Aufgabe verwenden.
Das obige ist der detaillierte Inhalt vonAzure Pipelines: UV-Cache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!