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 localhost:5000/counter:latest . # Push to local registry - docker push localhost: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 with environment variables - docker run -d --name counter-app \ -e ENVIRONMENT=production \ -e JWT_SECRET=your-super-secure-production-secret \ -e DATABASE_URL=postgres://postgres:password@localhost:5432/counter_db?sslmode=disable \ -e GIN_MODE=release \ -e LOG_LEVEL=warn \ -p 8080:8080 \ localhost:5000/counter:latest volumes: - name: dockersock host: path: /var/run/docker.sock trigger: branch: - main - feature/* event: - push action: - push