22
33echo " π Starting deployment process..."
44
5- # Define variables
5+ CONFIG_REPO_PATH=" /home/weberqbot/infra-config"
6+ CONFIG_REPO_URL=" git@github.com:weberq/infra-config.git"
7+
8+ # Clone or update the infra-config repo
9+ if [ ! -d " $CONFIG_REPO_PATH /.git" ]; then
10+ echo " π₯ Cloning infra-config repo..."
11+ git clone " $CONFIG_REPO_URL " " $CONFIG_REPO_PATH "
12+ else
13+ echo " π¦ Updating infra-config repo..."
14+ cd " $CONFIG_REPO_PATH " && git pull
15+ fi
16+
17+ # Define environment and project
18+ ENVIRONMENT=" dev1" # Change this per server
19+ PROJECT_NAME=" stm.weberq.in"
20+
21+ # Path to port registry
22+ PORT_REGISTRY=" $CONFIG_REPO_PATH /$ENVIRONMENT /port_registry.txt"
23+
24+ # Load the assigned port for this project
25+ PORT=$( grep " ^$PROJECT_NAME =" " $PORT_REGISTRY " | cut -d' =' -f2)
26+
27+ if [ -z " $PORT " ]; then
28+ echo " β Port not defined for $PROJECT_NAME in $PORT_REGISTRY . Exiting."
29+ exit 1
30+ fi
31+
32+ echo " βΉοΈ Using port $PORT for $PROJECT_NAME ..."
33+
34+ # Define project details
635PROJECT_DIR=" /home/weberqbot/orbits/stm.org"
7- CONTAINER_NAME=" stm.weberq.in "
8- IMAGE_NAME=" stm -image"
36+ CONTAINER_NAME=" $PROJECT_NAME "
37+ IMAGE_NAME=" ${PROJECT_NAME // . / -} -image"
938
10- echo " π Changing to project directory..."
39+ echo " π Navigating to project directory..."
1140cd " $PROJECT_DIR " || { echo " β Failed to change directory." ; exit 1; }
1241
1342echo " π¦ Pulling latest changes from Git..."
@@ -19,39 +48,36 @@ git pull || {
1948 }
2049}
2150
22- # Detect changes that require a Docker rebuild
23- echo " π Checking for changes that require a Docker rebuild..."
51+ # Check for rebuild necessity
2452CHANGED_FILES=$( git diff --name-only HEAD@{1} HEAD)
25-
2653if echo " $CHANGED_FILES " | grep -qE ' Dockerfile|composer.json|composer.lock' ; then
27- echo " π¦ Changes detected in Dockerfile or composer files. Rebuilding image.. ."
54+ echo " π¦ Changes detected that require Docker rebuild ."
2855
29- echo " π§Ή Cleaning up old Docker container and image (if any) ..."
56+ echo " π§Ή Stopping and cleaning old container/ image..."
3057 docker stop $CONTAINER_NAME 2> /dev/null || echo " No running container to stop."
3158 docker rm $CONTAINER_NAME 2> /dev/null || echo " No container to remove."
32- docker rmi $IMAGE_NAME 2> /dev/null || echo " No old image to remove."
59+ docker rmi $IMAGE_NAME 2> /dev/null || echo " No image to remove."
3360
3461 echo " π³ Building Docker image..."
3562 docker build -t $IMAGE_NAME . || { echo " β Docker build failed." ; exit 1; }
3663
37- echo " π’ Starting Docker container..."
38- docker run -d -p 8081 :80 --name $CONTAINER_NAME $IMAGE_NAME || {
64+ echo " π’ Starting new Docker container on port $PORT ..."
65+ docker run -d -p $PORT :80 --name $CONTAINER_NAME $IMAGE_NAME || {
3966 echo " β Failed to start container." ; exit 1
4067 }
4168
42- echo " β
Deployment complete with full rebuild!"
4369else
44- echo " β
No changes requiring Docker rebuild. Syncing updated code into container ..."
70+ echo " β
No rebuild required . Syncing code..."
4571
46- echo " π¦ Copying updated code into running container... "
72+ # Sync code into the container
4773 docker cp . $CONTAINER_NAME :/var/www/html || {
4874 echo " β Failed to copy updated files to container." ; exit 1;
4975 }
5076
51- echo " π Restarting container to reflect changes..."
77+ echo " π Restarting container to apply changes..."
5278 docker restart $CONTAINER_NAME || {
5379 echo " β Failed to restart container." ; exit 1;
5480 }
55-
56- echo " β
Code sync complete without rebuild!"
5781fi
82+
83+ echo " β
Deployment complete!"
0 commit comments