Add force restart option to deployment workflow and script
This commit is contained in:
6
.github/workflows/cd.yml
vendored
6
.github/workflows/cd.yml
vendored
@@ -23,6 +23,11 @@ on:
|
||||
required: false
|
||||
default: ''
|
||||
type: string
|
||||
force_restart:
|
||||
description: 'Force rollout restart (restarts pods even if no changes)'
|
||||
required: false
|
||||
default: true
|
||||
type: boolean
|
||||
|
||||
# Environment variables available to all jobs
|
||||
env:
|
||||
@@ -39,6 +44,7 @@ env:
|
||||
CONTAINER_REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
|
||||
CONTAINER_IMAGE_NAME: ${{ secrets.CONTAINER_IMAGE_NAME }}
|
||||
CONTAINER_IMAGE_TAG: ${{ inputs.image_tag || 'latest' }}
|
||||
FORCE_RESTART: ${{ inputs.force_restart }}
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
|
||||
@@ -20,6 +20,7 @@ CONTAINER_REGISTRY_NAMESPACE="${CONTAINER_REGISTRY_NAMESPACE:-username}"
|
||||
CONTAINER_REGISTRY_PASSWORD="${CONTAINER_REGISTRY_PASSWORD:-password}"
|
||||
CONTAINER_IMAGE_NAME="${CONTAINER_IMAGE_NAME:-image-name}"
|
||||
CONTAINER_IMAGE_TAG="${CONTAINER_IMAGE_TAG:-latest}"
|
||||
FORCE_RESTART="${FORCE_RESTART:-true}"
|
||||
|
||||
# =============================================================================
|
||||
# Functions
|
||||
@@ -46,6 +47,7 @@ print_help() {
|
||||
echo " CONTAINER_REGISTRY_PASSWORD"
|
||||
echo " CONTAINER_IMAGE_NAME"
|
||||
echo " CONTAINER_IMAGE_TAG"
|
||||
echo " FORCE_RESTART Force rollout restart (default: true)"
|
||||
echo ""
|
||||
echo "Examples:"
|
||||
echo " $0 deploy"
|
||||
@@ -156,6 +158,13 @@ deploy_application() {
|
||||
|
||||
# Wait for deployment to be ready
|
||||
echo "Waiting for deployment to be ready..."
|
||||
|
||||
# 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
|
||||
|
||||
Reference in New Issue
Block a user