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 就不报错