def call(String imageName, String dockerfilePath, String buildContext, String nexusUser) { def dockerRepo = env.NEXUS_DOCKER_URL def nexusPass = env.NEXUS_DOCKER_PASS container('docker') { sh "dockerd --insecure-registry http://${dockerRepo} &" echo "Started Docker daemon" sh "docker build -t ${imageName} -f ${dockerfilePath} ${buildContext}" echo "Docker image ${imageName} built" sh "docker login http://${dockerRepo} -u ${nexusUser} -p ${nexusPass}" echo "Logging in to ${dockerRepo}" sh "docker tag ${imageName} ${dockerRepo}/my-docker-repo/${imageName}:latest" echo "Image ${imageName} tagged" sh "docker push ${dockerRepo}/my-docker-repo/${imageName}:latest" echo "Pushed Docker image ${imageName} to ${dockerRepo}" } }