您的位置:首页 > 其它

一些部署完gitlab、jenkins、maven、git的坑

2018-02-23 00:00 781 查看
git版本:1.8.3.1

gitlab版本:10.3.3

jenkins版本:2.60.3

=====================================================================================

问题1:

[root@node5 soft]# git clone http://jenkins@10.176.0.119:8888/pipeline/ci_eureka_server_qa.git Cloning into 'ci_eureka_server_qa'...
fatal: unable to access 'http://jenkins@10.176.0.119:8888/pipeline/ci_eureka_server_qa.git/': Empty reply from server
解决:
git config --global http.proxy
如果查询到当前设置了代理,就取消这个设置:
git config --global --unset http.proxy

=====================================================================================

问题2:

java.lang.NoSuchMethodError: No such DSL method 'gitLabConnection' found among steps

jenkins里缺少gitlab插件

=====================================================================================

问题3:jenkins配置了环境变量,但是报 mvn:comman not found

解决:把maven目录bin下的命令 ln -s /opt/maven/bin/mvn /usr/bin/mvn

=====================================================================================

问题4:

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.29/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&shmsize=0&t=10.176.0.119%2Fspring-cloud-eureka-test%2Feureka-server-prod%3A0.0.1-SNAPSHOT&target=&ulimits=null: dial unix /var/run/docker.sock: connect: permission denied

解决把centos加到docker组:usermod -aG docker centos

其中:centos是当前jenkins执行的用户

===============================================================================

问题5:java.lang.NoSuchMethodError: No such DSL method 'readMavenPom' found among steps

解决:jenkins里缺少Pipeline Utility Steps插件,安装之后即可

===============================================================================

启动gitlab
docker run --detach --hostname 192.168.50.251 --publish 444:443 --publish 8888:80 --name gitlab --restart always --volume /srv/gitlab/config:/etc/gitlab --volume /srv/gitlab/logs:/var/log/gitlab --volume /srv/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest

修改jenkins端口,home
vim /etc/sysconfig/jenkins
修改jdk路径
vim /etc/rc.d/init.d/jenkins

登录harbor
docker login 10.176.0.119 -u admin -p 123qweASD

查看镜像
docker images

为镜像打tag
docker tag 镜像名:版本 ip/项目名/镜像名:版本

推送镜像到harbor
docker push 镜像名:版本

=================================================================================

问题6:jenkins在CI过程中,用docker push推送镜像的时候报如下错误

denied: requested access to the resource is denied

原因:在push之前,需要使用docker login命令完成登录。

但是Jenkins Job的命令是以伪用户jenkins的名义执行的,因此无法直接在jenkins账户完成登录。那么如何解决呢?

使用root账户完成登录

将/root/目录下的.docker目录复制到/var/lib/jenkins

修改文件夹权限 chown -R centos.centos .docker

jenkins_user用到了哪个用户,就先用那个用户登录一下镜像仓库

原理是:登录成功后会在.docker中生成一个config.json的文件,里面保存了认证的信息,以后每次执行docker pull/push时,都会通过检测该文件确定用户是否已完成认证。config.json内容

{ "auths": { "registry.mydocker.com": { "auth": "s2ptYW5nAdE53SM6MXEydzNlNHApb2o=" } } }

===============================================================================
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: