From fdf23dd510fce5d5557fa51c8bb5cfaccfb30ec1 Mon Sep 17 00:00:00 2001 From: Vishesh 'ironeagle' Bangotra Date: Sun, 28 Sep 2025 02:06:24 +0530 Subject: [PATCH] added drone deployment --- .drone.yml | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 .drone.yml diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..ca82570 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,53 @@ +--- +kind: pipeline +type: docker +name: default + +steps: + # Step 1: Install dependencies & build Node.js app + - name: install-and-build + image: node:20-alpine + commands: + - echo "Installing dependencies..." + - npm ci + - echo "Building app..." + - npm run build + + # Step 2: Build Docker image with dynamic Git tag + - name: build-image + image: docker:24 + environment: + DOCKER_HOST: unix:///var/run/docker.sock + commands: + - IMAGE_TAG=${DRONE_TAG:-latest} + - echo "Building Docker image apps/homepage:$IMAGE_TAG ..." + - docker build -t apps/homepage:$IMAGE_TAG . + + # Step 3: Stop old container if exists + - name: stop-old + image: docker:24 + environment: + DOCKER_HOST: unix:///var/run/docker.sock + commands: + - IMAGE_TAG=${DRONE_TAG:-latest} + - echo "Stopping old container..." + - docker rm -f homepage || true + + # Step 4: Run container with dynamic tag + - name: run-container + image: docker:24 + environment: + DOCKER_HOST: unix:///var/run/docker.sock + commands: + - IMAGE_TAG=${DRONE_TAG:-latest} + - echo "Starting container apps/homepage:$IMAGE_TAG ..." + - docker run -d \ + --name homepage \ + -p 3001:3000 \ + -e NODE_ENV=production \ + apps/homepage:$IMAGE_TAG + +# Trigger pipeline on Git tags +trigger: + event: + - tag