NewTube/docker/deploy-img.ps1

47 lines
1.6 KiB
PowerShell

<#
.SYNOPSIS
Exécute le script deploy-img.sh dans WSL Debian.
.DESCRIPTION
Ce script PowerShell lance le script Bash deploy-img.sh dans le répertoire courant sous la distribution WSL Debian.
Le script déploie l'image Docker locale vers le registre distant et gère les versions.
.PARAMETRES
Aucun paramètre requis actuellement.
.EXEMPLE
.\deploy-img.ps1
.RETOURNE
Affiche le succès ou les erreurs lors du déploiement de l'image Docker.
#>
param()
$ErrorActionPreference = 'Stop'
try {
Write-Verbose "[Étape 1] Détermination du répertoire du script."
$scriptDir = $PSScriptRoot
Write-Verbose "[Étape 2] Conversion du chemin Windows vers WSL (manuel, sans wslpath)."
# Remplacement manuel du préfixe du chemin Windows par le préfixe WSL
$wslScriptDir = $scriptDir -replace '^([A-Za-z]):\\', '/mnt/$1/' -replace '\\','/'
$wslScriptDir = $wslScriptDir.ToLower()
Write-Verbose "[Étape 3] Vérification des permissions du script bash."
wsl -d Debian -- chmod +x "$wslScriptDir/deploy-img.sh"
Write-Verbose "[Étape 4] Construction de la commande Bash à exécuter."
$innerCmd = "cd '$wslScriptDir' && ./deploy-img.sh"
Write-Verbose "[Étape 5] Exécution du script deploy-img.sh dans WSL Debian."
wsl -d Debian bash -lc $innerCmd
if ($LASTEXITCODE -ne 0) {
throw "Le script de déploiement a échoué avec le code d'erreur: $LASTEXITCODE"
}
Write-Host "Déploiement de l'image Docker newtube-angular:latest terminé avec succès." -ForegroundColor Green
}
catch {
Write-Error "Erreur lors de l'exécution du déploiement de l'image Docker : $_"
exit 1
}