apiVersion: v1 kind: ConfigMap metadata: name: build-trigger-script namespace: resume-site data: trigger-build.sh: | #!/bin/bash set -e # Configuration GIT_URL="http://192.168.1.49:13001/admin/resume-site.git" REPO_DIR="/tmp/repo" LAST_COMMIT_FILE="/data/last_commit" echo "Checking for new commits..." # Clone or update repository if [ ! -d "$REPO_DIR" ]; then git clone "$GIT_URL" "$REPO_DIR" else cd "$REPO_DIR" git fetch origin main git reset --hard origin/main fi cd "$REPO_DIR" CURRENT_COMMIT=$(git rev-parse HEAD) SHORT_COMMIT=$(git rev-parse --short HEAD) echo "Current commit: $CURRENT_COMMIT" # Read last processed commit LAST_COMMIT="" if [ -f "$LAST_COMMIT_FILE" ]; then LAST_COMMIT=$(cat "$LAST_COMMIT_FILE") echo "Last processed commit: $LAST_COMMIT" fi # Check if there are new commits if [ "$CURRENT_COMMIT" != "$LAST_COMMIT" ]; then echo "New commit detected! Triggering build..." # Create a new build job with unique name TIMESTAMP=$(date +%s) JOB_NAME="build-cron-$SHORT_COMMIT-$TIMESTAMP" # Generate build job YAML cat < "$LAST_COMMIT_FILE" echo "Updated last commit reference" else echo "No new commits. Skipping build." fi