在Windows上运行的Jenkins Release工件作业在Git push命令中失败
我正在Windows上构建一个Jenkins作业来自动化发布过程。因此,我使用的是Maven发布插件 当我对作业执行PerformMaven发布时,它会要求我输入SCM登录名、SCM注释前缀和SCM标记。但是,在使用以下日志执行git推送以提交更改时,作业失败在Windows上运行的Jenkins Release工件作业在Git push命令中失败,git,maven,jenkins,maven-release-plugin,Git,Maven,Jenkins,Maven Release Plugin,我正在Windows上构建一个Jenkins作业来自动化发布过程。因此,我使用的是Maven发布插件 当我对作业执行PerformMaven发布时,它会要求我输入SCM登录名、SCM注释前缀和SCM标记。但是,在使用以下日志执行git推送以提交更改时,作业失败 [INFO] Checking in modified POMs... [INFO] Executing: cmd.exe /X /C "git add -- pom.xml" [INFO] Working direct
[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] -> [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
我相信这个错误与为Jenkins作业运行ssh代理有关。我遵循stackoverflow问题中给出的解决方案,git push在终端中运行良好
pom.xml中的SCM参数设置如下
<scm>
<connection>scm:git:git@github.com:elizabetht/StudentEnrollmentWithREST.git</connection>
<developerConnection>scm:git:git@github.com:elizabetht/StudentEnrollmentWithREST.git</developerConnection>
<url>http://github.com/elizabetht/StudentEnrollmentWithREST</url>
</scm>
$ mvn scm:validate
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building StudentEnrollmentWithREST 1.3-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> maven-scm-plugin:1.9:validate (default-cli) @ StudentEnrollmentWithREST >>>
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (enforce-maven) @ StudentEnrollmentWithREST ---
[INFO]
[INFO] <<< maven-scm-plugin:1.9:validate (default-cli) @ StudentEnrollmentWithREST <<<
[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] ------------------------------------------------------------------------
scm:git:git@github.com:elizabetht/StudentEnrollmentWithREST.git
scm:git:git@github.com:elizabetht/StudentEnrollmentWithREST.git
http://github.com/elizabetht/StudentEnrollmentWithREST
mvn scm的输出:验证如下
<scm>
<connection>scm:git:git@github.com:elizabetht/StudentEnrollmentWithREST.git</connection>
<developerConnection>scm:git:git@github.com:elizabetht/StudentEnrollmentWithREST.git</developerConnection>
<url>http://github.com/elizabetht/StudentEnrollmentWithREST</url>
</scm>
$ mvn scm:validate
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building StudentEnrollmentWithREST 1.3-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> maven-scm-plugin:1.9:validate (default-cli) @ StudentEnrollmentWithREST >>>
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (enforce-maven) @ StudentEnrollmentWithREST ---
[INFO]
[INFO] <<< maven-scm-plugin:1.9:validate (default-cli) @ StudentEnrollmentWithREST <<<
[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] ------------------------------------------------------------------------
$mvn scm:验证
[信息]正在扫描项目。。。
[信息]
[信息]------------------------------------------------------------------------
[信息]使用REST 1.3-SNAPSHOT构建学生集合
[信息]------------------------------------------------------------------------
[信息]
[INFO]>>>maven scm插件:1.9:validate(默认cli)@StudentEnrollmentWithREST>>>
[信息]
[信息]---maven enforcer插件:1.2:enforce(EnforceMaven)@StudentEnrollmentWithREST---
[信息]
[信息]我遵循了@Saravana Kumar Periyasamy在链接“Jenkins和Github之间可能存在的问题”主题下找到的解决方法
强制Jenkins以配置了SSH密钥的用户的身份运行,上传了在没有密码和viola的情况下生成的SSH密钥,我使用Jenkins成功地发布了Maven(在使用Jenkins作业进行了116次正确配置后!!)
这是控制台的输出
[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:\Users\Sara\AppData\Local\Temp\maven-scm-170370981.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] Tagging release with the label StudentEnrollmentWithREST-1.3...
[INFO] Executing: cmd.exe /X /C "git tag -F C:\Users\Sara\AppData\Local\Temp\maven-scm-1647501295.commit StudentEnrollmentWithREST-1.3"
[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 StudentEnrollmentWithREST-1.3"
[INFO] Working directory: C:\Program Files (x86)\Jenkins\workspace\Upload REST Release Artifacts
[INFO] Executing: cmd.exe /X /C "git ls-files"
[INFO] Working directory: C:\Program Files (x86)\Jenkins\workspace\Upload REST Release Artifacts
[INFO] Transforming 'StudentEnrollmentWithREST'...
[INFO] Not removing release POMs
[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:\Users\Sara\AppData\Local\Temp\maven-scm-890096458.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] Release preparation complete.
然后工作继续将我的工件上传到我的发布库
pom.xml中的元素如下所示(这是有效的)
而不是使用
我通过Jenkins获得maven版本的整个步骤都可以在下找到。要添加到答案中,请始终查看Jenkins日志以了解更详细的错误。感谢伊丽莎白()在帖子中提到我 请共享配置了SCM设置的POM文件?@Amir Keibi:在编辑中添加了SCM参数。谢谢。“mvn scm:validate”的输出是什么?@AmirKeibi:在编辑中添加了输出。连接URL是另一个我能想到的问题是网络和DNS问题以及SSH密钥问题。两者都可以使用“ssh-vT”进行检查git@github.com". 请也添加此命令的输出。
git@github.com:user/repo-name.git