Files
NewTube/docker/deploy-img.ps1
T
bruno 69c722fdf9
CI / build-and-test (push) Successful in 14m7s
Document env vars and remove theme collapse button
- Expand .env.example with full runtime, cache, Docker, and AI keys
- Add deployment secrets to .gitignore (docker-compose/.env,
  docker/.registry.env)
- Remove VIMEO_ACCESS_TOKEN from compose files; add OAuth redirect URIs
- Load registry credentials from .registry.env in deploy-img.sh
- Fail fast if protected registry lacks auth during pre-checks
- Pass DOCKER_USERNAME/PASSWORD explicitly to WSL in deploy-img.ps1
- Remove inline collapse buttons from themes-nav.component.html
2026-09-28 08:34:07 -04:00

59 lines
2.3 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."
# WSL n'hérite PAS des variables d'environnement de Windows : on les
# exporte explicitement dans la commande bash. Sans cela, un DOCKER_USERNAME
# défini dans PowerShell n'arriverait jamais dans deploy-img.sh et le push
# échouerait en "push access denied".
$innerCmd = "cd '$wslScriptDir' && ./deploy-img.sh"
foreach ($var in @('DOCKER_USERNAME', 'DOCKER_PASSWORD')) {
$value = [Environment]::GetEnvironmentVariable($var)
if ($value) {
# Échappement des caractères spéciaux bash (simple quotes)
$escaped = $value -replace "'", "'\''"
$innerCmd = "export $var='$escaped'; " + $innerCmd
}
}
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
}