title: Jenkins Release artifact job running on Windows fails in Git push command
body: <p>I am building a Jenkins Job on Windows to automate the release process. Hence I am using the Maven release plugin. </p>
  
  <p>When I do a Perform Maven Release on the job, it asks me for the SCM login, SCM Comment Prefix and SCM tag. But the job fails while doing a git push to commit the changes with the following logs.</p>
  
  <pre><code>   [INFO] Checking in modified POMs...
     [INFO] Executing: cmd.exe /X /C "git add -- pom.xml"
     [INFO] Working directory: C:\Program Files (x86)\Jenkins\workspace\Upload REST Release      Artifacts
     [INFO] Executing: cmd.exe /X /C "git status"
     [INFO] Working directory: C:\Program Files (x86)\Jenkins\workspace\Upload REST Release  Artifacts
     [INFO] Executing: cmd.exe /X /C "git commit --verbose -F C:\windows\TEMP\maven-scm-1948138390.commit pom.xml"
     [INFO] Working directory: C:\Program Files (x86)\Jenkins\workspace\Upload REST Release Artifacts
     [INFO] Executing: cmd.exe /X /C "git symbolic-ref HEAD"
     [INFO] Working directory: C:\Program Files (x86)\Jenkins\workspace\Upload REST Release Artifacts
     [INFO] Executing: cmd.exe /X /C "git push   git@github.com:elizabetht/StudentEnrollmentWithREST.git master:master"
     [INFO] Working directory: C:\Program Files (x86)\Jenkins\workspace\Upload REST Release Artifacts
     [INFO] ------------------------------------------------------------------------
     [INFO] BUILD FAILURE
     [INFO] ------------------------------------------------------------------------
     [INFO] Total time: 2:03.980s
     [INFO] Finished at: Mon Feb 03 14:29:30 CST 2014
     [INFO] Final Memory: 9M/21M
     [INFO] ------------------------------------------------------------------------
     [ERROR] Failed to execute goal org.apache.maven.plugins:maven-release- plugin:2.2.2:prepare (default-cli) on project StudentEnrollmentWithREST: Unable to commit  files
     [ERROR] Provider message:
     [ERROR] The git-push command failed.
     [ERROR] Command output:
     [JENKINS] Archiving C:\Program Files (x86)\Jenkins\workspace\Upload REST Release Artifacts\pom.xml to com.github.elizabetht/StudentEnrollmentWithREST/1.3-SNAPSHOT/StudentEnrollmentWithREST-1.3-SNAPSHOT.pom
     [ERROR] Permission denied (publickey).
     [ERROR] fatal: Could not read from remote repository.
     [ERROR] 
     [ERROR] Please make sure you have the correct access rights
     [ERROR] and the repository exists.
     [ERROR] -&gt; [Help 1]
     [ERROR] 
     [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
     [ERROR] Re-run Maven using the -X switch to enable full debug logging.
     [ERROR] 
     [ERROR] For more information about the errors and possible solutions, please read the following articles:
     [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
  channel stopped
     Finished: FAILURE
  </code></pre>
  
  <p>I believe this error has to do with running a ssh agent for the Jenkins job. I followed the solution given in the stackoverflow question <a href="https://stackoverflow.com/questions/3243755/maven-error-releasing-code-to-github-hangs-after-push?lq=1">Maven - Error Releasing Code to GitHub (Hangs After Push)</a> and the git push works fine in a terminal.</p>
  
  <p>The SCM parameters settings in pom.xml are as follows</p>
  
  <pre><code>&lt;scm&gt;
          &lt;connection&gt;scm:git:git@github.com:elizabetht/StudentEnrollmentWithREST.git&lt;/connection&gt;
          &lt;developerConnection&gt;scm:git:git@github.com:elizabetht/StudentEnrollmentWithREST.git&lt;/developerConnection&gt;
          &lt;url&gt;http://github.com/elizabetht/StudentEnrollmentWithREST&lt;/url&gt;           
      &lt;/scm&gt;
  </code></pre>
  
  <p>Output of mvn scm:validate is as follows</p>
  
  <pre><code>$ mvn scm:validate
  [INFO] Scanning for projects...
  [INFO]
  [INFO] ------------------------------------------------------------------------
  [INFO] Building StudentEnrollmentWithREST 1.3-SNAPSHOT
  [INFO] ------------------------------------------------------------------------
  [INFO]
  [INFO] &gt;&gt;&gt; maven-scm-plugin:1.9:validate (default-cli) @ StudentEnrollmentWithREST &gt;&gt;&gt;
  [INFO]
  [INFO] --- maven-enforcer-plugin:1.2:enforce (enforce-maven) @ StudentEnrollmentWithREST ---
  [INFO]
  [INFO] &lt;&lt;&lt; maven-scm-plugin:1.9:validate (default-cli) @ StudentEnrollmentWithREST &lt;&lt;&lt;
  [INFO]
  [INFO] --- maven-scm-plugin:1.9:validate (default-cli) @ StudentEnrollmentWithREST ---
  [INFO] connectionUrl scm connection string is valid.
  [INFO] project.scm.connection scm connection string is valid.
  [INFO] project.scm.developerConnection scm connection string is valid.
  [INFO] ------------------------------------------------------------------------
  [INFO] BUILD SUCCESS
  [INFO] ------------------------------------------------------------------------
  [INFO] Total time: 3.325s
  [INFO] Finished at: Tue Feb 04 18:06:04 CST 2014
  [INFO] Final Memory: 14M/309M
  [INFO] ------------------------------------------------------------------------
  </code></pre>
  
  <p>Adding the output of 'ssh -vT git@github.com'</p>
  
  <pre><code>C:\Users\Sara&gt;ssh -vT git@github.com
  OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
  debug1: Connecting to github.com [192.30.252.131] port 22.
  debug1: Connection established.
  debug1: identity file /c/Users/Sara/.ssh/identity type -1
  debug1: identity file /c/Users/Sara/.ssh/id_rsa type 1
  debug1: identity file /c/Users/Sara/.ssh/id_dsa type -1
  debug1: Remote protocol version 2.0, remote software version Ope
  n-5ubuntu1+github5
  debug1: match: OpenSSH_5.9p1 Debian-5ubuntu1+github5 pat OpenSSH
  debug1: Enabling compatibility mode for protocol 2.0
  debug1: Local version string SSH-2.0-OpenSSH_4.6
  debug1: SSH2_MSG_KEXINIT sent
  debug1: SSH2_MSG_KEXINIT received
  debug1: kex: server-&gt;client aes128-cbc hmac-md5 none
  debug1: kex: client-&gt;server aes128-cbc hmac-md5 none
  debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024&lt;1024&lt;8192) sent
  debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
  debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
  debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
  debug1: Host 'github.com' is known and matches the RSA host key.
  debug1: Found key in /c/Users/Sara/.ssh/known_hosts:1
  debug1: ssh_rsa_verify: signature correct
  debug1: SSH2_MSG_NEWKEYS sent
  debug1: expecting SSH2_MSG_NEWKEYS
  debug1: SSH2_MSG_NEWKEYS received
  debug1: SSH2_MSG_SERVICE_REQUEST sent
  debug1: SSH2_MSG_SERVICE_ACCEPT received
  debug1: Authentications that can continue: publickey
  debug1: Next authentication method: publickey
  debug1: Trying private key: /c/Users/Sara/.ssh/identity
  debug1: Offering public key: /c/Users/Sara/.ssh/id_rsa
  debug1: Server accepts key: pkalg ssh-rsa blen 277
  debug1: read PEM private key done: type RSA
  debug1: Authentication succeeded (publickey).
  debug1: channel 0: new [client-session]
  debug1: Entering interactive session.
  debug1: Remote: Forced command.
  debug1: Remote: Port forwarding disabled.
  debug1: Remote: X11 forwarding disabled.
  debug1: Remote: Agent forwarding disabled.
  debug1: Remote: Pty allocation disabled.
  debug1: Remote: Forced command.
  debug1: Remote: Port forwarding disabled.
  debug1: Remote: X11 forwarding disabled.
  debug1: Remote: Agent forwarding disabled.
  debug1: Remote: Pty allocation disabled.
  debug1: client_input_channel_req: channel 0 rtype exit-status re
  Hi elizabetht! You've successfully authenticated, but GitHub doe
  ell access.
  debug1: channel 0: free: client-session, nchannels 1
  debug1: Transferred: stdin 0, stdout 0, stderr 0 bytes in 0.1 se
  debug1: Bytes per second: stdin 0.0, stdout 0.0, stderr 0.0
  debug1: Exit status 1
  </code></pre>
  
  <p>Could anyone help with pointers on how to get this running as a Jenkins job on Windows?</p>