From 935b81351c47dce91a8316236d8f2153f8266120 Mon Sep 17 00:00:00 2001 From: Murtadha Date: Fri, 19 Jul 2024 18:14:44 -0400 Subject: [PATCH] Separate deploy-webserver to multiple steps, for ease of readibility --- .woodpecker.yml | 40 +++++++++++++++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/.woodpecker.yml b/.woodpecker.yml index 07e3a74..460a2ce 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -62,8 +62,24 @@ pipeline: -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 nginx:alpine + # Tag the running container with the version + - docker tag nginx:alpine frontend:$VERSION + - echo "Deployment completed" + + confirm-deployment: + image: appleboy/drone-ssh + settings: + host: + from_secret: ssh_host + username: + from_secret: ssh_username + key: + from_secret: ssh_key + port: 2332 + script: + - echo "Verifying deployment..." # Verify the container is running - - docker ps | grep frontend || echo "Container failed to start" + - docker ps | grep frontend || { echo "Container failed to start"; exit 1; } # Display container logs - docker logs frontend # Test Nginx configuration @@ -72,16 +88,30 @@ pipeline: - docker exec frontend ps aux | grep nginx # Check contents of /usr/share/nginx/html in the container - docker exec frontend ls -la /usr/share/nginx/html + # Perform a simple HTTP request to check if the server is responding + - curl -I http://localhost:5173 || { echo "HTTP request failed"; exit 1; } + - echo "Deployment confirmed successfully" + + cleanup: + image: appleboy/drone-ssh + settings: + host: + from_secret: ssh_host + username: + from_secret: ssh_username + key: + from_secret: ssh_key + port: 2332 + script: + - echo "Performing cleanup..." # Clean up unused containers, images, and volumes - docker system prune -f --volumes - # Tag the running container with the version - - docker tag nginx:alpine frontend:$VERSION # Remove older versions of the Docker image - > - for img in $(docker images frontend --format "{{.Tag}}" | grep -v $VERSION); do + for img in $(docker images frontend --format "{{.Tag}}" | grep -v $(cat /home/mnisyif/docker-containers/mnisyif/frontend/version.txt)); do docker rmi frontend:$img || true; done - - echo "Deployment completed" + - echo "Cleanup completed" trigger: event: