CI持续集成系统环境---部署Gitlab环境完整记录
最近在看CI/CD集成的相关部分,发现几篇好文,转载分享一波。
来源网络:
Gitlab是一个代码托管平台,在实际工作中,对代码管理十分有用。废话不多说,下面是对我自己搭建的Gitlab环境做一记录:
1)安装
------------------------------------------------------------------------
或者直接下载bitnami-gitlab-7.1.1-0-linux-x64-installer.run
下载地址:
bitnami-gitlab-8.5.1-0-linux-x64-installer.run版本
下载地址:
2)启动命令
3)访问
http://ip:端口
在远程可以使用ssh方式连接gitlab并clone代码
需要先将远程客户端机器的公钥放到Gitlab的SSH Keys里面,做成无密码的信任关系
------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------
linux客户端使用ssh方式连接gitlab
其实只需要将linux客户机的公钥内容拷贝到gitlab的“Profile Settings”->"SSH Keys"里
比如:
使用“王士博”账号登陆gitlab
同一个gitlab账号下可以添加多个Keys,也就是可以对应多台客户机的Keys,也可以是同一台客户机的不同账号下的Keys;
注意Keys中公钥内容可以通过邮件去识别,也可以不跟邮件识别(比如在linux客户机和windows本地都产生公私钥,公钥内容中的邮件可以都用wangshibo@huanqiu.com)。特别注意一点:添加不同客户机上的相关账号公钥后,就只能在这个账号状态下进行git代码下载。比如下面添加了客户机的wangshibo账号下的公钥,就只能在这台主机的wangshibo账号下进行git代码下载,在root账号下是下载不了的,会一直提示输入密码.....
1)首先需要在linux客户机上生成公私钥
2)将上面产生的公钥内容添加到gitlab上,如下:
可以在下面的“Title”处注明公钥信息,方便管理
查看已添加的Keys
3)在客户机通过ssh连接gitlab,比如下载gitlab的test工程代码,进行操作。操作步骤如下:
注意下面在git clone代码前进行的”Git global setup“全局设置:
第一行对应的是gitlab的用户名
第二行对应的是这个用户下的Keys的名称(如果创建公私钥时,用-C “邮箱”方式进行秘钥识别,那么这里就用邮箱;如果创建公私钥时没有用-C “邮箱”识别,那么这里对应的就只是单纯的Keys的名称了,在gitlab控制台的SSH-Keys里能查看到)
注意:
使用ssh方式git clone下载代码时,本机必须要能连通gitlab机器的ssh服务端口(默认是22)。不然即便将公钥添加上,也是徒劳!
----------------------------------------------------------------------------------------------------------------------------------------------
解决Gitlab的Gravatar头像无法显示的问题,如下:
解决办法:
修改/opt/gitlab-8.8.4-0/apps/gitlab/htdocs/config/gitlab.yml文件的下面两行
.........
.........
gravatar:
enabled: false //由true改为false
重启服务
/opt/gitlab-8.8.4-0/ctlscript.sh restart
再次访问,gravatar图片就显示出来了
----------------------修改gitlab的logo图标----------------------
将下面路径下的gitlab_logo.png图片更换即可,注意图片名称不要变!
1 2 3 4 |
|
----------------------解决gitlab上上传头像图片不显示问题----------------------
如下,在gitlab登陆用户的设置里面上传头像
如果上传头像不显示,是因为目录权限的问题,解决办法如下:
1 2 3 |
|
-----------------------------设置gitlab里对应group的图片----------------------------------------------
Edit编辑gitlab对应group,选择"Group avatar"->点击"Choose file",上传图片即可!
如果上传的group图片不显示,修改权限:
#chmod 777 -R /opt/gitlab-8.8.4-0/apps/gitlab/htdocs/public/uploads/group
----------------------------------------------------------------------------------------------------------
下面记录在windows客户端使用TortoiseGit的ssh方式连接gitlab的记录
下面两个客户端软件的下载地址是:
======================================
需要注意的问题:
在通过ssh方式连接gitlab的时候,明明已经上传了公钥到gitlab了,但是在连接时候还是提示输入密码!
原因:
1)注意在git clone的时候,一定要使用git方式,别使用http方式。
2)公钥上传到gitlab,并且私钥ppk文件配对后,原则上来说在git bash里面通过"ssh -p22 root@gitlab.zlibs.com"是能登录到gitlab服务器的(gitlab.zlibs.com是gitlab服务器主机名)。
3)如果gitlab.zlibs.com是通过代理层nginx转到gitlab服务器的,则需要在客户机的hosts里面做gitlab服务器ip和其主机名的绑定关系。
4)在git bash里面做git global setup:
git config --global user.name "wangshibo"
git config --global user.email "wangshibo@huanqiu.com"
git clone git@gitlab.zlibs.com:ops/ops-maintain.git
........