# pipeline: # build: # image: node:22 # commands: # - npm ci # - npm run build # when: # branch: master # 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 # when: # branch: master # 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 # - docker build -t frontend:${CI_COMMIT_SHA} . # - docker stop frontend || true # - docker rm frontend || true # - docker run -d --name frontend -p 5173:80 frontend:${CI_COMMIT_SHA} # - docker image prune -f # Remove dangling images # - docker system prune -f --volumes # Clean up unused containers, images, and volumes # when: # branch: master pipeline: build: image: node:22 commands: - npm ci - npm run build when: branch: master 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 when: branch: master 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) # Build the new Docker image with the current version tag - docker build -t frontend:$VERSION . # Stop and remove the existing container if it exists - docker stop frontend || true - docker rm frontend || true # Run the new container with the current version - docker run -d --name frontend -p 5173:80 frontend:$VERSION # Remove dangling images - docker image prune -f # Clean up unused containers, images, and volumes - docker system prune -f --volumes # Remove older versions of the Docker image - > for img in $(docker images frontend --format "{{.Tag}}" | grep -v $VERSION); do docker rmi frontend:$img; done when: branch: master