CI / build-and-test (push) Successful in 14m7s
- 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
59 lines
2.3 KiB
PowerShell
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
|
|
}
|