Skip to content

sdasd

sdasd #8

Workflow file for this run

name: CI/CD Direct Deploy to Server
on:
push:
branches:
- master
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Deploy to server via SSH
uses: appleboy/ssh-action@v1.1.0
with:
host: ${{ secrets.SERVER_HOST }}
username: ${{ secrets.SERVER_USER }}
key: ${{ secrets.SERVER_SSH_KEY }}
script: |
set -e
APP_NAME=iiitt-new-dev
IMAGE_NAME=${APP_NAME}
COMMIT_SHA=${GITHUB_SHA::7}
SERVER_PORT=4908
DOCKER_PORT=3000
cd /var/www/html/$APP_NAME || exit 1
echo "Updating repository..."
git fetch origin master
git reset --hard origin/master
if [ "$(docker ps -q -f name=$APP_NAME)" ]; then
echo "Stopping and removing current container..."
docker stop $APP_NAME || true
docker rm $APP_NAME || true
fi
echo "Building new image..."
docker build -t ${IMAGE_NAME}:latest -t ${IMAGE_NAME}:${COMMIT_SHA} .
echo "Running new container..."
docker run -d --name $APP_NAME -p ${SERVER_PORT}:${DOCKER_PORT} ${IMAGE_NAME}:latest
echo "Cleaning up unused images..."
docker image prune -f --filter "dangling=true"