diff --git a/vars/dockerBuild.groovy b/vars/dockerBuild.groovy index e69de29..e6ab759 100644 --- a/vars/dockerBuild.groovy +++ b/vars/dockerBuild.groovy @@ -0,0 +1,16 @@ +def call(Map args = [:]) { + script { + if (!args.imageName || !args.dockerfile || !args.context) { + error "dockerBuild requires imageName, dockerfile, and context arguments" + } + + def imageName = args.imageName + def dockerfile = args.dockerfile + def context = args.context + + echo "Building Docker image: ${imageName}" + sh """ + docker build -t ${imageName} -f ${dockerfile} ${context} + """ + } +} diff --git a/vars/dockerPush.groovy b/vars/dockerPush.groovy index e69de29..2cfaa6f 100644 --- a/vars/dockerPush.groovy +++ b/vars/dockerPush.groovy @@ -0,0 +1,23 @@ +def call(Map args = [:]) { + script { + if (!args.imageName || !args.registry || !args.credentialsId) { + error "dockerPush requires imageName, registry, and credentialsId arguments" + } + + def imageName = args.imageName + def registry = args.registry + def credentialsId = args.credentialsId + + withCredentials([usernamePassword( + credentialsId: credentialsId, + usernameVariable: 'DOCKER_USER', + passwordVariable: 'DOCKER_PASS' + )]) { + echo "Logging into Docker registry: ${registry}" + sh "echo \$DOCKER_PASS | docker login ${registry} -u \$DOCKER_USER --password-stdin" + + echo "Pushing Docker image: ${imageName}" + sh "docker push ${imageName}" + } + } +}