我從自制軟件(brew install jenkins
)安裝了Jenkins配置項。所以,它在我自己的用戶下運行。除了SSH訪問我的Git存儲庫之外,一切正常。我不想創建一個單獨的用戶(例如jenkins)來運行Jenkins併爲其創建單獨的SSH密鑰。我只想使用我自己的SSH密鑰。在命令行上訪問我的遠程git倉庫可以正常使用我的ssh密鑰,但在Jenkins中它不起作用。它給出了一個「拒絕的權限(公鑰)」的錯誤(用戶名和項目會被混淆(<user>
和<project>
)):Jenkins在Mac OS X上使用自制軟件安裝的SSH問題
Started by user anonymous
Checkout:workspace//Users/<user>/.jenkins/jobs/<project>_run_tests/workspace - [email protected]
Using strategy: Default
Last Built Revision: Revision 093f1641f26632afd1a74c14276ec544356c1d08 (origin/dev)
Checkout:workspace//Users/<user>/.jenkins/jobs/<project>_run_tests/workspace - [email protected]
Fetching changes from 1 remote Git repository
Fetching upstream changes from ssh://[email protected]/<user>/<project>.git
ERROR: Problem fetching from origin/origin - could be unavailable. Continuing anyway
ERROR: (Underlying report) : Error performing command: /usr/local/bin/git fetch -t ssh://[email protected]/<user>/<project>.git +refs/heads/*:refs/remotes/origin/*
Command "/usr/local/bin/git fetch -t ssh://[email protected]/<user>/<project>.git +refs/heads/*:refs/remotes/origin/*" returned status code 128: Permission denied (publickey).
fatal: The remote end hung up unexpectedly
ERROR: Could not fetch from any repository
FATAL: Could not fetch from any repository
hudson.plugins.git.GitException: Could not fetch from any repository
at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1012)
at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:972)
at hudson.FilePath.act(FilePath.java:783)
at hudson.FilePath.act(FilePath.java:765)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:972)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1195)
at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:568)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:457)
at hudson.model.Run.run(Run.java:1404)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:230)
現在看來,這是不是用我的SSH密鑰連接到GIT服務器。我試着向詹金斯清洗plist添加一個UserName鍵,做了重啓,但沒有效果。
我怎樣才能讓詹金斯使用我的SSH密鑰連接到我的遠程git回購?
嗯,當我從命令行啓動jenkins時,它就會起作用。通過執行'/ usr/bin/java -jar/usr/local/Cellar/jenkins/1.440/lib/jenkins.war',沒有問題。所以,我現在的問題是:我如何從launchd運行jenkins並仍然可以通過SSH訪問我的遠程git倉庫? –
顛覆這一點。在Mac OSX 10.7和Jenkins 1.442上遇到完全相同的問題,無法找到解決方案。任何人對此有任何想法? – seanoshea
查看http://lists.macosforge.org/pipermail/launchd-dev/2007-November/000081.html,看起來.plist文件需要位於「LaunchAgents」而不是「LaunchDaemons」目錄中。 – seanoshea