watch.sh 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #!/bin/sh
  2. # Auto deploy cron script
  3. LOCAL_REPO_PATH="/scheduler/Elsevier_Scheduler"
  4. UPDATE_LOG_PATH="/scheduler/gitstatus.log"
  5. ConferenceCLScheduler_IMAGE="docker.luminad.com/els_conference-cl-scheduler:dev"
  6. CONTAINER_PREFIX="els_conference-cl-Scheduler"
  7. ENV_SUFFIX="dev"
  8. NUMBER_OF_CONTAINERS=1 # 👈 CHANGE THIS VALUE ONLY
  9. BRANCH="dev"
  10. cd "$LOCAL_REPO_PATH" || exit 1
  11. echo "git pull origin ${BRANCH}" > "$UPDATE_LOG_PATH"
  12. git pull origin "$BRANCH" >> "$UPDATE_LOG_PATH"
  13. if grep -q 'Updating' "$UPDATE_LOG_PATH"; then
  14. echo "🔨 Building Docker image..."
  15. docker build -t "$ConferenceCLScheduler_IMAGE" -f ./Elsevier_Scheduler/Dockerfile .
  16. i=1
  17. while [ "$i" -le "$NUMBER_OF_CONTAINERS" ]; do
  18. CONTAINER_NAME="${CONTAINER_PREFIX}${i}-${ENV_SUFFIX}"
  19. echo "♻️ Restarting container: $CONTAINER_NAME"
  20. docker stop "$CONTAINER_NAME" 2>/dev/null || true
  21. docker rm "$CONTAINER_NAME" 2>/dev/null || true
  22. docker run \
  23. -v /share/uat:/efs -v /share/uat:/efs1 -v /share/vtool:/vtool \
  24. -d \
  25. --name "$CONTAINER_NAME" \
  26. "$ConferenceCLScheduler_IMAGE"
  27. i=$((i + 1))
  28. done
  29. echo "📤 Pushing image to registry..."
  30. docker push "$ConferenceCLScheduler_IMAGE"
  31. echo "---------------------"
  32. echo "Conference CL Scheduler Updated successfully"
  33. echo "---------------------"
  34. else
  35. echo "---------------------"
  36. echo "Already Up-to-date"
  37. echo "---------------------"
  38. fi