docker
This commit is contained in:
1 parent
a3dcb256c0
commit
90d79924f8
1 file changed
+51
@@ -0,0 +1,51 @@
|
||||
# PowerShell script for Docker build and push with GitHub authentication
|
||||
# This script will build and push your Docker image to GitHub Container Registry
|
||||
# You must set the CR_PAT environment variable with your GitHub Personal Access Token
|
||||
|
||||
# Check if CR_PAT environment variable is set
|
||||
if (-not $env:CR_PAT) {
|
||||
Write-Host "❌ Error: CR_PAT environment variable is not set." -ForegroundColor Red
|
||||
Write-Host "Please set your GitHub Personal Access Token as an environment variable:" -ForegroundColor Yellow
|
||||
Write-Host '$env:CR_PAT = "YOUR_GITHUB_PAT"' -ForegroundColor Yellow
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Set variables
|
||||
$IMAGE_NAME = "ghcr.io/nmemmert/spelling"
|
||||
$VERSION = (Get-Content -Path "version.json" | ConvertFrom-Json).version
|
||||
$GITHUB_USERNAME = "nmemmert"
|
||||
|
||||
Write-Host "🔑 Logging in to GitHub Container Registry..." -ForegroundColor Cyan
|
||||
# Login to GitHub Container Registry using environment variable
|
||||
$env:CR_PAT | docker login ghcr.io -u $GITHUB_USERNAME --password-stdin
|
||||
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
Write-Host "❌ Login failed. Please check your GitHub token." -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
Write-Host "✅ Successfully logged in to GitHub Container Registry." -ForegroundColor Green
|
||||
Write-Host "🔨 Building Docker image ${IMAGE_NAME}:${VERSION}..." -ForegroundColor Cyan
|
||||
|
||||
# Build the image
|
||||
docker build -t ${IMAGE_NAME}:${VERSION} -t ${IMAGE_NAME}:latest .
|
||||
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
Write-Host "❌ Docker build failed." -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
Write-Host "✅ Build completed." -ForegroundColor Green
|
||||
Write-Host "📤 Pushing image to GitHub Container Registry..." -ForegroundColor Cyan
|
||||
|
||||
# Push both tags to registry
|
||||
docker push ${IMAGE_NAME}:${VERSION}
|
||||
docker push ${IMAGE_NAME}:latest
|
||||
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
Write-Host "❌ Docker push failed." -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
|
||||
Write-Host "✅ Successfully pushed ${IMAGE_NAME}:${VERSION} and ${IMAGE_NAME}:latest" -ForegroundColor Green
|
||||
Write-Host "🎉 Done! Your Docker image is now available at ${IMAGE_NAME}:${VERSION}" -ForegroundColor Cyan
|
||||
Reference in new issue
Block a user