Documentation

Préparer une étape de cache Buildx

Bientôt disponible. Exemple prévu, pas encore offert en production.

Avant de commencer

Parcours prévu : le cache Docker n’est pas offert en production. Cet exemple exige un Dockerfile et la livraison future d’un cache autorisé. Enregistrer une préférence n’active pas le cache. Sans RZV_DOCKER_CACHE_DIR, l’exemple construit sans cache.

Exemple prévu

YAML · prévu
steps:
  - name: Build with local layer cache
    shell: bash
    run: |
      set -euo pipefail
      cache="${RZV_DOCKER_CACHE_DIR:-}"
      builder="rzv-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT}"
      docker buildx create --name "$builder" --driver docker-container
      trap 'docker buildx rm --force "$builder"' EXIT
      args=()
      if [[ -n "$cache" ]]; then
        rm -rf -- "$cache/next"
        args+=(--cache-to "type=local,dest=$cache/next,mode=max")
        if [[ -f "$cache/current/index.json" ]]; then
          args+=(--cache-from "type=local,src=$cache/current")
        fi
      fi
      docker buildx build --builder "$builder" --progress=plain \
        "${args[@]}" \
        --load --tag example:ci .
      if [[ -n "$cache" ]]; then
        rm -rf -- "$cache/current"
        mv -- "$cache/next" "$cache/current"
      fi

Vérifier et protéger le travail

Lorsque le cache sera offert, répétez une construction inchangée sur la même référence de confiance et le même hôte, puis examinez la sortie CACHED. Les entrées modifiées sont reconstruites. Un autre hôte ou l’éviction donne parfois une construction sans cache. La conception tient les demandes de tirage issues de forks et les autres tâches non fiables à l’écart de tout cache lu par les constructions de confiance. Faites un seul export par tâche. Aucun gain de vitesse ni réemploi entre hôtes n’est promis. Aucun prix n’a été annoncé.

Pages liées et langue

Guide de la fonction

English

On this page and page tools

Ask Docs

Ask a question and open it in your AI assistant. The prompt tells it to answer from the Runzivo docs and link the pages it used.

Try asking

Your question opens in the assistant you pick, under its own terms. Runzivo does not see or store it.