update
This commit is contained in:
6
.github/workflows/cd.yml
vendored
6
.github/workflows/cd.yml
vendored
@@ -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 }}
|
||||||
|
|||||||
11
script/cd.sh
11
script/cd.sh
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user