Cloud CLI : Commande Local
Exécutez mcloud local build pour lancer une build Cloud sur la machine locale, en reproduisant la manière dont Cloud construit le projet. Utilisez-la pour déboguer les déploiements build-failed sans pousser de changements ni attendre une build Cloud complète.
Contraintes
- Pas de drapeau
--json.local builddiffuse la sortie de build en texte brut et signale le résultat par son code de sortie (0= succès). Ne parsez pas sa sortie en JSON. - Nécessite Docker installé et en cours d'exécution, et doit être lancé depuis l'intérieur du repository Git du projet.
- Reproduit uniquement les échecs
build-failed(build) — pas les échecsdeployment-failed(runtime). Pour les échecs runtime, utilisezmcloud logs --deployment <id>. - Disponible depuis mcloud CLI v0.1.10.
- Le cache Docker build est désactivé par défaut pour que les changements de variables invalident toujours le cache ; passez
--docker-cachepour l'activer.
Commande
local build
Lancez une build Cloud localement. Déduit le chemin racine et les variables de build du projet Cloud lié et de l'environnement. Construit le backend par défaut ; passez --type storefront pour le storefront.
mcloud local build \
--organization <org-id> \
--project <project-id-or-handle> \
--environment <environment-handle>
Options :
-o/--organization <id>— ID de l'organisation (se rabat sur le contexte actif)-p/--project <id-or-handle>— ID ou handle du projet (se rabat sur le contexte actif)-e/--environment <handle>— Environnement dont les variables sont utilisées (se rabat sur le contexte actif)-t/--type <backend|storefront>— Type de build (défaut :backend)--root-path <path>— Chemin racine du backend relatif à la racine du repo (déduit s'il est omis ;.si aucun projet Cloud trouvé)--storefront-path <path>— Chemin du storefront relatif à la racine du repo, pour--type storefront(déduit s'il est omis)--env-file <path>— Utilisez un fichier.envlocal à la place des variables de l'environnement Cloud-v/--var <KEY=VALUE>— Remplacez une seule variable de build ; répétable--docker-cache— Activez le cache Docker build (défaut :false)
Sortie :
- En cas de succès (sortie
0), l'image backend est taguée<repository-name>:cloud-local-build-<commit-hash>; une build storefront écrit son répertoire de sortie et affiche le chemin. - En cas d'échec (sortie non-zéro), la commande se termine avec l'erreur de l'étape qui a échoué — déboguez-la comme vous le feriez pour une build Cloud.
Reproduire un Échec de Build
Vérifiez le même commit que celui de la build du déploiement échoué pour que la build locale corresponde, puis routez sur le code de sortie :
# Identifiez le déploiement échoué et le commit qu'il a construit
DEPLOYMENT_ID=$(
mcloud deployments list --json \
| jq -r '[.[] | select(.backend_status == "build-failed")][0].id'
)
COMMIT=$(mcloud deployments get "$DEPLOYMENT_ID" --json | jq -r '.commit_hash')
git checkout "$COMMIT"
if mcloud local build; then
echo "Build succeeded locally; failure not reproducible from this commit."
else
echo "Build failed locally; inspect the streamed output for the failing step."
fi
Une fois que la build locale sort 0, poussez la correction vers la branche suivie et démarrez une nouvelle build Cloud avec mcloud environments trigger-build <env>.
Exemples
# Reproduisez la build backend pour le contexte actif
mcloud local build
# Reproduisez la build storefront
mcloud local build --type storefront --storefront-path apps/storefront
# Testez un correctif de variable de build sans éditer le code
mcloud local build --var NODE_ENV=production
# Construisez contre un fichier .env local
mcloud local build --env-file .env
# Réutilisez le cache Docker pour une rebuild plus rapide
mcloud local build --docker-cache