pipeline {
  agent {
    docker {
      image 'node:16-alpine' // Use an image with Node.js and Docker installed
      args '-u root -v /var/run/docker.sock:/var/run/docker.sock' // Mount Docker socket
    }
  } 

  environment {
    REGISTRY = "docker-registry.service.consul"
    IMAGE_NAME = "efstajas/homepage"
  }

  stages {
    stage('Docker Build') {
      steps {
        script {
          dockerImage = docker.build("$IMAGE_NAME")
        }
      }
    }

    stage('Docker Publish') {
      steps {
        script {
          docker.withRegistry("http://$REGISTRY:4124") {
            dockerImage.push("latest")
          }
        }
      }
    }
  }
}
