Jenkins Pipeline docker.withRegistry() push leads to endless loop

Viewed 10539

I managed to setup a jenkins on kubernetes and gitbucket on kubernetes. Now I am trying out to create my own first docker file for uploading on dockerhub. Unfortunately it fails while uploading to docker. Build is successfully, but I cant manage how to upload it to dockerhub (private repository).

Jenkinsfile

def label = "${BUILD_TAG}"
 
podTemplate(label: label, containers: [
    containerTemplate(name: 'docker', image: 'docker:latest', command: 'cat', ttyEnabled: true)
],
volumes: [
    hostPathVolume(mountPath: '/var/run/docker.sock', hostPath: '/var/run/docker.sock')
]) {
    node(label) {
        def app
        def myRepo = checkout scm
        def gitCommit = myRepo.GIT_COMMIT
        def gitBranch = myRepo.GIT_BRANCH
        def shortGitCommit = "${gitCommit[0..10]}"
        def previousGitCommit = sh(script: "git rev-parse ${gitCommit}~", returnStdout: true)
        
        stage('Decommission Infrastructure') {
            container('kubectl') {
                echo "Decmomission..."
            }
        }
        
        stage('Build application') {
            container('docker') {
                app = docker.build("fasautomation/recon", ".")
            }
        }
        
        stage('Run unit tests') {
            container('docker') {
                app.inside {
                    sh 'echo "Test passed"'
                }
            }
        }

            stage('Docker publish') {
                container('docker') {
                    docker.withRegistry('https://registry.hub.docker.com', '<<jenkins store-credentials>>') {
                        echo "Pushing 1..."
                        // Push tagged version
                    app.push("${env.BUILD_NUMBER}")
                    echo "Pushing 2..."
                    // Push latest-tagged version
                    app.push("latest")
                    echo "Pushed!"
                    }
            }
            }
            
            stage('Deployment') {
            container('docker') {
                // Deploy to Kubernetes
                echo 'Deploying'
            }
            }
            
        stage('Provision Infrastructure') {
            container('kubectl') {
                echo 'Provision...'
            }
        }
    }
}

Jenkins Logs

[...]
[Pipeline] stage (hide)
[Pipeline] { (Docker publish)
[Pipeline] container
[Pipeline] {
[Pipeline] withEnv
[Pipeline] {
[Pipeline] withDockerRegistry
Executing sh script inside container docker of pod jenkins-recon-master-116-0ksw8-f7779
Executing command: "docker" "login" "-u" "*****" "-p" ******** "https://index.docker.io/v1/" 
exit
<<endless loading symbol>>

Does anyone has a clue how to debug here? Credentials work. Not sure why there is the exit in the log without the logs for pushing afterwards... :-(

0 Answers
Related