82 lines
No EOL
2.6 KiB
YAML
82 lines
No EOL
2.6 KiB
YAML
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 |