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