问题描述
作为aix命令行中的jenkins用户,我设法运行:
As a jenkins user from aix command line I manage to run:
"git pull --rebase origin"
但是,当我尝试通过詹金斯做到这一点时,我得到了:
But when I try to do this from jenkins I get:
OpenSSL version mismatch. Built against 1000105f, you have 1000013f
fatal: Could not read from remote repository.
"git reset"和"git checkout"之类的命令在两种环境下均可正常工作.
Commands like "git reset" and "git checkout" work fine from both environment.
我唯一能找到的就是当我从aix shell运行ssh -V时:
Only thing that I manage to find is that when I run ssh -V from aix shell:
$ /usr/bin/ssh -V
OpenSSH_6.0p1, OpenSSL 1.0.1e 11 Feb 2013
但来自詹金斯:
OpenSSH_6.0p1, OpenSSL 1.0.0s 11 Jun 2015
AIX从文件集安装了openssh和openssl:
AIX have openssh and openssl installed from filesets:
$ lslpp -l | grep open | grep base
openssh.base.client 6.0.0.6103 COMMITTED Open Secure Shell Commands
openssh.base.server 6.0.0.6103 COMMITTED Open Secure Shell Server
openssl.base 1.0.1.510 COMMITTED Open Secure Socket Layer
openssh.base.client 6.0.0.6103 COMMITTED Open Secure Shell Commands
openssh.base.server 6.0.0.6103 COMMITTED Open Secure Shell Server
openssl.base 1.0.1.510 COMMITTED Open Secure Socket Layer
对于git客户端,我必须从rpm安装openssl:
And for git client I had to install openssl from rpm:
$ rpm -qa | egrep "git|ssl"
openssl-1.0.1p-1
git-2.1.3-1
致谢
推荐答案
我知道了.通过"truss -e -o/tmp/truss_ssh_cli.txt ssh -V",我发现从jenkins运行时,jenkins(或某人)将LIBPATH设置为/opt/freeware/lib,然后ssh从那里获取openssl.我设置了LIBPATH =",命令执行正常
I figured it out. With "truss -e -o /tmp/truss_ssh_cli.txt ssh -V" I found out that when run from jenkins, jenkins ( or someone ) set LIBPATH to /opt/freeware/lib, and then ssh get openssl from there. I set LIBPATH="" and command went ok
这篇关于jenkins git ssl在AIX上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!