当前位置:   article > 正文

docker 安装gitlab jenkins git maven_stdout: stderr: host key verification failed. fata

stdout: stderr: host key verification failed. fatal: could not read from rem

jenkins 配置git提示

问题1、Error performing git command: /usr/local/git ls-remote -h 

问题2、stdout: stderr: Host key verification failed. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

 问题处理

下面的安装配置是一个完整,一点一点修改,出来的一个完整版本,没有报错的

有问题可以留言

192.168.40.15 服务安装  docker  maven nodejs git  jdk

上面docker我是通过yum源安装的

maven nodejs git  jdk  是二进制安装的

上面服务就自己慢慢安装

1、docker 安装 jenkins 容器jenkins   

docker pusll jenkins/jenkins

docker run -d --name jenkins -p 8089:8080 -p 50000:50000 -u root --hostname jenkins -v /opt/jenkins/jenkins_home/:/var/jenkins_home/ -v /usr/local/apache-maven-3.9.2/:/usr/local/apache-maven-3.9.2/ -v /usr/local/node-v12.8.0/:/usr/local/node-v12.8.0/ -v /etc/profile:/etc/profile -v /usr/local/jdk1.8.0_131/:/usr/local/jdk1.8.0_131/ -v /usr/local/git/:/usr/local/git/ -v /root/.ssh/:/root/.ssh/ jenkins/jenkins:latest

jenkins容器挂载了 ,真的要这样,不然全是坑

maven nodejs git  jdk 宿主机的 .ssh目录  还有/etc/profile:/etc/profile也挂载 不然没有环境

因为要和gitlab仓库连接,所以宿主机和容器的公钥要一样  不然会提示ssh报错

这样Jenkins访问就是 ip:8089

进入jenkins界面去插件 

安装

maven git nodejs  Localization: Chinese (Simplified)   Publish Over SSH

Role-based Authorization Strategy版本  一开始就使用这些插件   不会具体配置自行百度

 这样jenkins环境基本就好了,在去安装gitlab

2、192.168.40.17安装gitlab git

 docker pull gitlab/gitlab-ce

docker run -d --name gitlab -p 80:80 -p 224:22 -p 433:443 --hostname 192.168.40.17 -v /opt/gitlab/etc/:/etc/gitlab -v /opt/gitlab/data/:/var/opt/gitlab -v /opt/gitlab/log/:/var/log/gitlab -v /root/.ssh/:/root/.ssh -v /usr/local/git/:/usr/local/git/ -v /etc/profile:/etc/profile --restart unless-stopped gitlab/gitlab-ce:latest

把git 、/etc/profile:/etc/profile、和ssh也挂载上去了 ,为什么在192.168.40.17服务也配置ssh,

因为我是把root的用公钥放到这里了  其他的目录是gitlab的 配置目录和数据目录

以上就是jenkins和gitlab 容器安装的命令

上面安装成功过后

开始生成公钥、密钥,

在192.168.40.15上执行

ssh-keygen -t rsa -C "gitlab用户的邮箱"

下面是宿主机的公钥和容器的公钥,因为做了挂载所以可以同步

在配置一个config

[root@test-01 ~]# cat /root/.ssh/config
Host 192.168.40.17
  HostName 192.168.40.17
  Port 224
  User root

##192.168.40.17 是gitlab的宿主机ip,224是容器gitlab映射的端口 host是一个别名,因为我gitlab配置的时候 加了一个--hostname 192.168.40.17

 然后在配置

自己在gitlab创建用户就行,在给授权一个项目给 开发权限

[root@test-01 ~]# git config --global user.name "gitlab用户"
[root@test-01 ~]# git config --global user.email "gitlab用户的邮箱"

上面是配置gitlab用户,
[root@test-01 ~]# cat /root/.gitconfig
[user]
        name = *****
        email =*****@163.com

最后在重启

systemctl restart sshd

docker restart Jenkins

在容器、宿主机执行

root@jenkins:/# ssh git@192.168.40.17
PTY allocation request failed on channel 0
Welcome to GitLab, @kangwei!   提示这个就可以了
 

下面是在192.168.40.17上面执行

开始配置gitlab

同样也是在gitlab先生成公钥密钥

我在这个服务配置的是管理员的公钥

ssh-keygen -t rsa -C "gitlab 管理员用户的邮箱"

[root@test-01 ~]# git config --global user.name "gitlab管理员"
[root@test-01 ~]# git config --global user.email "gitlab管理员邮箱"

上面是配置gitlab用户,
[root@test-01 ~]# cat /root/.gitconfig
[user]
        name = 管理员用户
        email =  管理员邮箱

在配置一个config

[root@test-01 ~]# cat /root/.ssh/config
Host 192.168.40.17
  HostName 192.168.40.17
  Port 224
  User root

然后在容器里面

vi /etc/ssh/sshd_config

开启

Port 22

PubkeyAuthentication yes

AuthorizedKeysFile      .ssh/authorized_keys

最后在重启

systemctl restart sshd

docker restart gitlab

还有一个博客结合这一起看,下面这个是处理 git clone 一直输入密码问题,我觉得我上面

Permission denied, please try again._小鸡,啄米的博客-CSDN博客

下面git 就不报错 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/936413
推荐阅读
相关标签
  

闽ICP备14008679号