在jenkins中为git存储库配置端口
我正试图在詹金斯创建一个Maven项目。代码位于使用非标准端口1754的Git存储库中 配置文件中已经有端口详细信息,但jenkins中的git插件无法连接。它给出了端口22的错误信息 添加以下url后,Jenkins(Git部分)将出现以下错误:在jenkins中为git存储库配置端口,git,ssh,jenkins,jenkins-plugins,ssh-keys,Git,Ssh,Jenkins,Jenkins Plugins,Ssh Keys,我正试图在詹金斯创建一个Maven项目。代码位于使用非标准端口1754的Git存储库中 配置文件中已经有端口详细信息,但jenkins中的git插件无法连接。它给出了端口22的错误信息 添加以下url后,Jenkins(Git部分)将出现以下错误:gitolite@10.115.2.110:自动编码 Failed to connect to repository : Command "/usr/bin/git -c core.askpass=true ls-remote -h gito
gitolite@10.115.2.110:自动编码
Failed to connect to repository : Command "/usr/bin/git -c
core.askpass=true ls-remote -h gitolite@10.115.2.110:AutomationCode
HEAD" returned status code 128:
stdout:
stderr: ssh: connect to host 10.115.2.110 port 22: Connection refused
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
当我直接从终端克隆git存储库时,它工作正常,但在Jenkins中,它没有使用端口的配置文件
我试着给SSHURL,但它也不工作“连接被拒绝”错误即将出现。
我尝试在SSH服务器的ManageJenkins->configure system页面中给出固定端口号。但这个问题仍然没有得到解决
有什么方法可以让我们配置一个项目使用Jenkins->Git中的特定端口,或者访问.ssh/config文件获取端口号
我正在使用SSH密钥访问git。如果您使用相同的url(gitolite@10.115.2.110:AutomationCode
),然后:
- 您正在使用端口22(ssh的标准),或者如下面所述,使用带有“
主机gitolite
”条目的~/ssh/config文件
- 您可能不会在Jenkins上使用与在命令行中使用帐户相同的~/.ssh
让Jenkins作业打印“env
”,查看环境变量(和用户名)是否与您在终端中看到的相同。
使用jenkins登录,切换到home dir(默认为/var/lib/jenkins),在.ssh/config中设置端口,然后从中删除端口git@foo.com:[port]/git/bar.git,然后git克隆成功。
我认为这很乏味,但它很有效
注意:远程git服务器上必须有ssh公钥。从命令行克隆时使用的url是什么?git clonegitolite@10.115.2.110:AutomationCode在此区域中没有指定端口的位置。所以我在.ssh文件夹中创建了配置文件来指定端口1754。这在命令行中起作用。但在Jenkins中,它只接收端口22。正如我所想:这就是我下面的答案。在命令行中,我使用.ssh文件夹中的配置文件来指定端口,即1754。@shashank您的配置文件中有“主机gitolite
”吗?无论如何,您的Jenkins必须在不同的帐户下运行,否则它将访问与您在命令行中相同的~/.ssh/config
文件。现在这个错误不会发生了。但是与权限问题相关的另一个错误出现了:*“stdout:stderr:Bad owner或/var/lib/jenkins/.ssh/config fatal:无法从远程存储库读取权限。请确保您具有正确的访问权限并且存储库存在。”**我尝试更改.ssh文件夹和配置文件的权限,但仍然出现相同的错误。我还尝试使用root用户运行jenkins来解决权限问题,但仍然出现相同的错误。