kind: pipeline type: docker name: default steps: - name: build-and-deploy image: docker:20.10 volumes: - name: dockersock path: /var/run/docker.sock commands: # Build the Docker image - docker build -t host.docker.internal:5000/counter:latest . # Push to local registry - docker push host.docker.internal:5000/counter:latest # Stop and remove existing container if it exists - docker stop counter-app || true - docker rm counter-app || true # Run the new container - docker run -d --name counter-app -p 8080:8080 host.docker.internal:5000/counter:latest # Wait a moment for the container to start - sleep 5 # Test the API - curl -f http://host.docker.internal:8080/ || exit 1 volumes: - name: dockersock host: path: /var/run/docker.sock trigger: branch: - main - feature/*