Filip Kantaro
Filip Kantaro

Reputation: 51

Jenkins git push command takes forever

for presentation purposes i do have jenkins server (ver. 2.190.1) installed on my windows 10 and my localhost is node as well. When it comes to the mvn release:prepare stage it takes forever on git push command.

Here is how does the stage look like:

stage('Release') {
        when {
            changeRequest()
        }
        steps {
            script {
                bat "git checkout -b ${env.CHANGE_BRANCH}" // initially detached HEAD
                bat "mvn release:prepare release:perform -B -DdevelopmentVersion=1.8-SNAPSHOT -DreleaseVersion=1.7 -Dtag=1.7" // runs well until git push and then it never finishes
            }
        }
    }

And here there are execution logs:

C:\Program Files (x86)\Jenkins\workspace\jenkins-dev_PR-1>mvn release:prepare release:perform -B -DdevelopmentVersion=1.8-SNAPSHOT -DreleaseVersion=1.7 -Dtag=1.7 
[INFO] Scanning for projects...
[INFO] 
[INFO] ----------------------< kantarce.dev:jenkins-dev >----------------------
[INFO] Building jenkins-dev 1.8-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-release-plugin:2.5.3:prepare (default-cli) @ jenkins-dev ---
[INFO] Verifying that there are no local modifications...
[INFO]   ignoring changes on: **\pom.xml.next, **\release.properties, **\pom.xml.branch, **\pom.xml.tag, **\pom.xml.backup, **\pom.xml.releaseBackup
[INFO] Executing: cmd.exe /X /C "git rev-parse --show-toplevel"
[INFO] Working directory: C:\Program Files (x86)\Jenkins\workspace\jenkins-dev_PR-1
[INFO] Executing: cmd.exe /X /C "git status --porcelain ."
[INFO] Working directory: C:\Program Files (x86)\Jenkins\workspace\jenkins-dev_PR-1
[WARNING] Ignoring unrecognized line: ?? release.properties
[WARNING] Ignoring unrecognized line: ?? target/
[INFO] Checking dependencies and plugins for snapshots ...
[INFO] Transforming 'jenkins-dev'...
[INFO] Not generating release POMs
[INFO] Executing goals 'clean verify'...
[INFO] [INFO] Scanning for projects...
[INFO] [INFO] 
[INFO] [INFO] ----------------------< kantarce.dev:jenkins-dev >----------------------
[INFO] [INFO] Building jenkins-dev f1-1.7
[INFO] [INFO] --------------------------------[ jar ]---------------------------------
[INFO] [INFO] 
[INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ jenkins-dev ---
[INFO] [INFO] Deleting C:\Program Files (x86)\Jenkins\workspace\jenkins-dev_PR-1\target
[INFO] [INFO] 
[INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ jenkins-dev ---
[INFO] [WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] [INFO] skip non existing resourceDirectory C:\Program Files (x86)\Jenkins\workspace\jenkins-dev_PR-1\src\main\resources
[INFO] [INFO] 
[INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ jenkins-dev ---
[INFO] [INFO] No sources to compile
[INFO] [INFO] 
[INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ jenkins-dev ---
[INFO] [WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] [INFO] skip non existing resourceDirectory C:\Program Files (x86)\Jenkins\workspace\jenkins-dev_PR-1\src\test\resources
[INFO] [INFO] 
[INFO] [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ jenkins-dev ---
[INFO] [INFO] No sources to compile
[INFO] [INFO] 
[INFO] [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ jenkins-dev ---
[INFO] [INFO] No tests to run.
[INFO] [INFO] 
[INFO] [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ jenkins-dev ---
[INFO] [WARNING] JAR will be empty - no content was marked for inclusion!
[INFO] [INFO] Building jar: C:\Program Files (x86)\Jenkins\workspace\jenkins-dev_PR-1\target\jenkins-dev-1.7.jar
[INFO] [INFO] ------------------------------------------------------------------------
[INFO] [INFO] BUILD SUCCESS
[INFO] [INFO] ------------------------------------------------------------------------
[INFO] [INFO] Total time:  1.264 s
[INFO] [INFO] Finished at: 2020-12-23T09:40:28+01:00
[INFO] [INFO] ------------------------------------------------------------------------
[INFO] Checking in modified POMs...
[INFO] Executing: cmd.exe /X /C "git add -- pom.xml"
[INFO] Working directory: C:\Program Files (x86)\Jenkins\workspace\jenkins-dev_PR-1
[INFO] Executing: cmd.exe /X /C "git rev-parse --show-toplevel"
[INFO] Working directory: C:\Program Files (x86)\Jenkins\workspace\jenkins-dev_PR-1
[INFO] Executing: cmd.exe /X /C "git status --porcelain ."
[INFO] Working directory: C:\Program Files (x86)\Jenkins\workspace\jenkins-dev_PR-1
[WARNING] Ignoring unrecognized line: ?? pom.xml.releaseBackup
[WARNING] Ignoring unrecognized line: ?? release.properties
[WARNING] Ignoring unrecognized line: ?? target/
[INFO] Executing: cmd.exe /X /C "git commit --verbose -F C:\WINDOWS\TEMP\maven-scm-21409179.commit pom.xml"
[INFO] Working directory: C:\Program Files (x86)\Jenkins\workspace\jenkins-dev_PR-1
[INFO] Executing: cmd.exe /X /C "git symbolic-ref HEAD"
[INFO] Working directory: C:\Program Files (x86)\Jenkins\workspace\jenkins-dev_PR-1
***************** THIS STAYS FOREVER **************************************************
[INFO] Executing: cmd.exe /X /C "git push https://github.com/kantarogit/jenkins-dev.git refs/heads/feature/f1:refs/heads/feature/f1"
[INFO] Working directory: C:\Program Files (x86)\Jenkins\workspace\jenkins-dev_PR-1

And it stays forever on the last line. Does it wait for some input? If I navigate to the workspace directory and execute the same maven release:prepare release:perform it works smoothly.

I was unable to find a way, not sure if it due to Jenkins + Windows issues.

Upvotes: 1

Views: 501

Answers (1)

Filip Kantaro
Filip Kantaro

Reputation: 51

resolved, not sure if the most elegant way...

git push waits for the credentials so i needed to provide them as part of the mvn release:prepare phase. previously github credentials configured in Jenkins Credentials

 stage('Release') {
        when {
            changeRequest()
        }
        steps {
            withCredentials([usernamePassword(credentialsId: '40c32c2c-2d64-4582-98fb-edef62acg474', usernameVariable: 'username', passwordVariable: 'password')]) {
                script {
                    bat "git checkout -b ${env.CHANGE_BRANCH}"
                    bat "mvn release:prepare release:perform -B -Dusername=${username} -Dpassword=${password} -DdevelopmentVersion=f1-1.9-SNAPSHOT -DreleaseVersion=f1-1.8 -Dtag=f1-1.8"
                }
            }
        }
    }                

Upvotes: 2

Related Questions