I am sorry

This commit is contained in:
2025-05-27 12:52:31 +03:00
parent bdfcad51ad
commit e0e7dc195a
2 changed files with 16 additions and 21 deletions

View File

@@ -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"
]
}
}

View File

@@ -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
}
}
}
}