added drone deployment

This commit is contained in:
2025-09-28 02:06:24 +05:30
parent fa9303b792
commit fdf23dd510

53
.drone.yml Normal file
View File

@@ -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