This commit is contained in:
2025-10-04 23:25:53 +08:00
parent 9e3120fde8
commit c1df1f6465
2 changed files with 16 additions and 1 deletions

View File

@@ -21,6 +21,11 @@ on:
required: false required: false
default: '' default: ''
type: string type: string
force_restart:
description: 'Force rollout restart (restarts pods even if no changes)'
required: false
default: true
type: boolean
env: env:
# Kubernetes configuration # Kubernetes configuration
@@ -36,6 +41,7 @@ env:
CONTAINER_REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }} CONTAINER_REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
CONTAINER_IMAGE_NAME: ${{ secrets.CONTAINER_IMAGE_NAME }} CONTAINER_IMAGE_NAME: ${{ secrets.CONTAINER_IMAGE_NAME }}
CONTAINER_IMAGE_TAG: ${{ inputs.image_tag || 'latest' }} CONTAINER_IMAGE_TAG: ${{ inputs.image_tag || 'latest' }}
FORCE_RESTART: ${{ inputs.force_restart }}
# Application configuration # Application configuration
DATABASE_DSN: ${{ secrets.DATABASE_DSN }} DATABASE_DSN: ${{ secrets.DATABASE_DSN }}

View File

@@ -23,6 +23,7 @@ CONTAINER_IMAGE_TAG="${CONTAINER_IMAGE_TAG:-latest}"
# Application Configuration # Application Configuration
DATABASE_DSN="${DATABASE_DSN:-postgres://postgres:password@localhost:5432/steam_union?sslmode=disable}" DATABASE_DSN="${DATABASE_DSN:-postgres://postgres:password@localhost:5432/steam_union?sslmode=disable}"
FORCE_RESTART="${FORCE_RESTART:-true}"
# ============================================================================= # =============================================================================
# Functions # Functions
@@ -43,8 +44,9 @@ print_help() {
echo " CONTAINER_IMAGE_NAME Image name (default: stats-api)" echo " CONTAINER_IMAGE_NAME Image name (default: stats-api)"
echo " CONTAINER_IMAGE_TAG Image tag (default: latest)" echo " CONTAINER_IMAGE_TAG Image tag (default: latest)"
echo " DATABASE_DSN Database connection string" echo " DATABASE_DSN Database connection string"
echo " FORCE_RESTART Force rollout restart (default: true)"
echo "" echo ""
echo "Commands:" echo "Commands:
echo " deploy Deploy application to Kubernetes" echo " deploy Deploy application to Kubernetes"
echo " help Show this help message (default)" echo " help Show this help message (default)"
} }
@@ -134,6 +136,13 @@ deploy_to_kubernetes() {
echo "✓ Deployment complete" echo "✓ Deployment complete"
echo "" echo ""
echo "Waiting for rollout..." echo "Waiting for rollout..."
# Force restart if enabled
if [ "${FORCE_RESTART}" = "true" ]; then
echo "Forcing rollout restart..."
kubectl rollout restart deployment/${CONTAINER_IMAGE_NAME} -n ${KUBERNETES_NAMESPACE}
fi
kubectl rollout status deployment/${CONTAINER_IMAGE_NAME} -n ${KUBERNETES_NAMESPACE} --timeout=300s kubectl rollout status deployment/${CONTAINER_IMAGE_NAME} -n ${KUBERNETES_NAMESPACE} --timeout=300s
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then