pipeline: build: image: node:22 commands: - npm ci - npm run build - echo "VERSION=$(cat version.txt)" > .env ssh-copy-to-host: image: appleboy/drone-scp settings: host: from_secret: ssh_host username: from_secret: ssh_username key: from_secret: ssh_key port: 2332 target: /home/mnisyif/docker-containers/mnisyif/frontend source: - dist/ - Dockerfile - nginx.conf - version.txt webserver-docker-deploy: image: appleboy/drone-ssh settings: host: from_secret: ssh_host username: from_secret: ssh_username key: from_secret: ssh_key port: 2332 script: - cd /home/mnisyif/docker-containers/mnisyif/frontend - VERSION=$(cat version.txt) - echo "Current directory contents:" - ls -la - echo "Dockerfile contents:" - cat Dockerfile - echo "nginx.conf contents:" - cat nginx.conf - echo "Checking dist directory:" - ls -la dist - echo "Building Docker image..." - docker build --no-cache -t frontend:$VERSION . || { echo "Docker build failed"; exit 1; } - echo "Verifying image was created:" - docker images | grep frontend - echo "Stopping existing Docker container..." - docker stop frontend || true - echo "Removing existing Docker container..." - docker rm frontend || true - echo "Running new Docker container..." - > docker run -d --name frontend -p 5173:80 -v /home/mnisyif/docker-containers/mnisyif/frontend/dist:/usr/share/nginx/html:ro -v /home/mnisyif/docker-containers/mnisyif/frontend/nginx.conf:/etc/nginx/nginx.conf:ro frontend:$VERSION || { echo "Docker run failed"; exit 1; } - echo "Checking container status:" - docker ps -a | grep frontend - echo "Container logs:" - docker logs frontend - echo "Nginx error logs:" - docker exec frontend cat /var/log/nginx/error.log - echo "Nginx access logs:" - docker exec frontend cat /var/log/nginx/access.log - echo "Checking mounted volumes:" - docker inspect -f '{{ .Mounts }}' frontend - echo "Checking Nginx configuration:" - docker exec frontend nginx -T - echo "Checking content of /usr/share/nginx/html:" - docker exec frontend ls -la /usr/share/nginx/html - echo "Deployment completed. Container status:" - docker ps | grep frontend || echo "Container is not running" trigger: event: - push branch: - master