diff --git a/src/com/example/DockerBuilder.groovy b/src/com/example/DockerBuilder.groovy index c962a2c..300d5ad 100644 --- a/src/com/example/DockerBuilder.groovy +++ b/src/com/example/DockerBuilder.groovy @@ -1,22 +1,15 @@ package com.example class DockerBuilder { - def dockerBuildAndPush(String dockerRepo, String imageName, String dockerfilePath, String buildContext, String nexusUser, String nexusPass, Boolean useInsecureRegistry) { - def dockerdCommand = useInsecureRegistry ? "dockerd --insecure-registry http://${dockerRepo} &" : "dockerd &" - - sh "$dockerdCommand" - echo "Started Docker daemon${useInsecureRegistry ? ' with --insecure-registry' : ''}" - - sh "docker build -t ${imageName} -f ${dockerfilePath} ${buildContext}" - echo "Docker image ${imageName} built" - - sh "docker login http://${dockerRepo} -u ${nexusUser} -p ${nexusPass}" - echo "Logged 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}" + def getDockerdCommand(String dockerRepo, Boolean useInsecureRegistry) { + return useInsecureRegistry ? "dockerd --insecure-registry http://${dockerRepo} &" : "dockerd &" + } + def getDockerBuildCommands(String dockerRepo, String imageName, String dockerfilePath, String buildContext, String nexusUser, String nexusPass) { + return [ + "docker build -t ${imageName} -f ${dockerfilePath} ${buildContext}", + "docker login http://${dockerRepo} -u ${nexusUser} -p ${nexusPass}", + "docker tag ${imageName} ${dockerRepo}/my-docker-repo/${imageName}:latest", + "docker push ${dockerRepo}/my-docker-repo/${imageName}:latest" + ] } } diff --git a/vars/buildAndDeploy.groovy b/vars/buildAndDeploy.groovy index 50e4968..8806051 100644 --- a/vars/buildAndDeploy.groovy +++ b/vars/buildAndDeploy.groovy @@ -22,15 +22,17 @@ def call(String appName, String helmChartPath, String helmRepoName,String helmCh stage('Docker build & push') { container(containerName) { script { - dockerBuilder.dockerBuildAndPush( + sh dockerBuilder.getDockerdCommand(env.NEXUS_DOCKER_URL, useInsecureRegistry) + sh dockerBuilder.getDockerBuildCommands( env.NEXUS_DOCKER_URL, appName, "./Dockerfile", "target", "admin", - env.NEXUS_DOCKER_PASS, - useInsecureRegistry - ) + env.NEXUS_DOCKER_PASS + ).each { cmd -> + sh cmd + } } } }