设为首页 收藏本站
查看: 957|回复: 0

[经验分享] Gitlab企业代码管理服务安装及相关配置

[复制链接]

尚未签到

发表于 2018-9-19 10:30:21 | 显示全部楼层 |阅读模式
  1.安装过程
  登陆www.gitlab.cc网站,根据你的系统,选择不同的安装
  演示的过程是在Centos6上的配置
  A.yum install curl openssh-server postfix cronie(邮箱配置另行说明,如果使用postfix,请下载安装,如使用第三方的企业邮箱,则无需安装)
  B.curl http://packages.gitlab.cc/install/gitlab-ce/script.rpm.sh | sudo bash
  C.yum install gitlab-ce
  此处,如果网络状态不太好,请先行去下载,我使用的也是先下载,后用脚本安装的方法,后续详细说明,下载网址http://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-XXX.rpm/download,这个网站可能被墙,请使用其他方法下载,攥写文档时,最新版本是8.4.0
  D.该网站安装的方式很简单,请参考,不过企业的需求不同,此处的安装针对企业是不太可行的,
  如果做简单傻瓜式的使用,这样也足够了;下面正式说明企业使用的安装,gitlab的官文文档请参考
  http://doc.gitlab.com/omnibus/
  单机服务的安装,我写了六个脚本已供安装过程的方便:

  一.在root家目录下创建目录software,依次创建rpms目录和scripts目录,把下载好的gitlab软件包可以都放在rpms目录下,安装不同的版本可以修改scripts中安装的软件包的名称,部署脚本为:deploy.sh
  大致内容如下:

  安装之后就是进行主配置文件/etc/gitlab/gitlab.rb的修改,修改登录的URL,这个根据自己的需求,如果使用的是域名的方式,就把自己的域名填写其中,参考我的改写:

  因为我后面要使用HTTPS加密的方式,所以这是我最后的使用结果,开始先确定一个,可以慢慢一步一步来修改,先让gitlab做一下全局的配置(gitlab-ctl reconfigure)
  二.使用config_gitlab.sh
  这个步骤主要是修改代码数据仓库的保存位置,最后有自己的放置位置,包括lvm的方式等等,
  挂载到其他地方,脚本的大致内容:

  根据你要放置的目录,修改上面两个配置文件,请注意gitlab.yml有两个地方要修改,然后接着根据你配置的内容,来创建相关目录,并给予相关权限,安装gitlab软件的时候,就会创建git用户和用户组
  三.使用backup_gitlab.sh
  此脚本作用在于备份代码数据,内容大致如下:

  仍修改主配置文件,修改要备份的路径,备份的保留时间,这里的单位是秒,这里保留了7天,根据自己的需求自行修改,请注意备份目录的权限问题
  四.现在可以根据之前配置的URL访问gitlab了,注意主机的防火墙相关配置,开放可以访问的端口,用默认的root账号和密码,登陆之后,在root的个人账号设置里面,有一个Profile Settings,点击进去,可以先绑定自己的ssh公钥到里面,界面如下:

  在主机端创建自己的sshkey,在home下的.ssh目录下取出公钥,粘贴在此处,填入一个自己喜欢的名字(貌似没什么用,此处可以查看ssh创建帮助),然后创建工程,工程一般创建为private,填写好工程的名字以及其他信息,就会出现一个gitlab的提示帮助,你就可以去你的客户端,尝试用ssh的方式,与gitlab进行交流了,先去尝试一下,看看是不是很爽!
  2.邮件配置过程
  好,下面来到很重要的邮箱配置了,有了邮箱配置,才能很方便的修改密码,以及作为管理员的分支合并的提醒动作,还是很重要的,在主配置文件应该更改如下地方
  主配置前面的邮箱配置不用改动,找到如下的配置段:

  下面是我使用的腾讯企业邮箱的配置

  邮箱的密码也配置在这里

  端口的争议是配置为25,经过我的测试,配置25端口邮箱是不可用的,但是以前配置的经验,25端口在8.0以前配置过,也是可以使用的,目前是版本的问题,还是配置的问题,还有待考证,配置好之后,记得执行gitlab-ctl reconfigure,这是可以进入gitlab,查看自己的账号信息,看看邮箱是不是更改过来了。
  现在可以在远端用ssh的方式,创建代码工作平台,测试一下,脚本里面的内容与gitlab给的提示是一致的:

  以这样的方式,根据自己的配置修改相关项
  3.HTTPS配置过程
  一般来说,HTTPS方式还是很重要的,邮箱不在局域网内,是跨公网的方式来pull和push乃至clone代码,对代码数据是相当不安全的,我是以在网站https://startssl.com申请的免费SSL证书,来布置gitlab的证书和密钥的,方式其实很简单,登陆网站,按照步骤,先sign up,然后按照网站的提示进行,唯一的要求是需要域名,如果没有域名是不能以这种方式进行的,那需要在本地使用自签证证书了,这个我也配置过,但是失败了,后续继续试验测试,这个在理论上应该是没有问题的,好,先来说明https://startssl.com网站上的配置过程
  A.
  填写你的邮箱,如果是你的企业邮箱最好,因为后面直接可以启用企业的域名;注意,因为邮箱账号会成为登陆该网站的账号,而该账号会绑定客户端的浏览器登陆证书,正确填写后,邮箱会受到验证码,填入指定地方

  激活成功后需要等待审核,一般情况下是很快的,然后就是出现下面的页面:

  然后点击继续,会创建浏览器登陆证书的私钥,保存其私钥,然后下一步就是安装浏览器端的证书了

  可以去你的浏览器证书管理里面查看一下刚刚获得的client证书

  这样,本机就有网站的认证了,有此证书才能登陆此网站
  以上都成功了,接下来就是真正创建SSL证书的过程了
  欢迎界面:

  然后选择>>>>>>>Validations

  继续下一步

  此处,填入你的域名,接着,下一步

  到此,会出现一个你初步输入的邮箱的账号,选择你的账号,因为接下来还有给此账号发送验证码

  查收邮箱,把收到的验证码填在此处,然后继续,到此时,我们已经验证了域名的所有权,下一步就是获取证书的所有权,下面就是在Certificates Wizard的流程里面,完成下面的步骤,选择Web Server SSL/TLS Certificate项

  继续之后,下面有一项System PKI ,选择此项,然后输入一个10位以上的密码,来加密你的密钥

  点击Save Private Key,保留此文件到你的本地,继续下一步,选择你的域名,继续下一步

  选择你要创建的证书的子域名,这个理论上应该是随意的,然后会等待审核,这个时间不是很确定,一般情况下是挺快的,申请成功之后,会有一个以你填写的域名为文件名的压缩包,里面会给你颁发各个web服务器的证书,如下图

  到此还并没有结束,今天的主题是gitlab,这是你进入创建的/etc/gitlab/ssl目录下,把nginx的证书可以先放入里面,记得刚才有个保存在本地的私钥文件嘛,那个现在就派上用场了,把里面的内容全部复制,进入网站,进入ToolBox,

  其中有一项,Decrypt CA Certificates,这项的意义就是解密证书文件,点击进去

  然后把私钥复制在里面,下面输入你当时给私钥加密的密码,点击Decrypt,然后会出现一个新的密钥,把新密钥复制下来,在本地保存成xxxxxxxxx.key文件,下面就是在gitlab里面的操作了。
  把刚才创建的key文件也放入/etc/gitlab/ssl/目录中,然后修改/etc/gitlab/gitlab.rb文件,做如下修改

  上面两项nginx的功能打开,如果你还想用80端口,如果你直接使用443,或者自己要定义端口,直接在URL那里定义好,此处的功能禁用就可以了,然后注意证书的路径和名称,把ssl目录的权限定义成只有属主可以访问的权限,然后gitlab-ctl reconfigure,下面就是激动人心的时刻了,重启所有服务,gitlab-ctl restart,去访问gitlab吧,加密的HTTPS已经可以使用了
  Gitlab数据的备份与恢复
  Gitlab 创建备份
  使用一条命令即可创建完整的Gitlab备份:
  gitlab-rake gitlab:backup:create
  使用以上命令会在var/opt/gitlab/backups(当然此目录上面已经修改过)目录下创建一个名称类似为1393513186_gitlab_backup.tar的压缩包, 这个压缩包就是Gitlab整个的完整部分, 其中开头的1393513186是备份创建的日期.
  Gitlab 修改备份文件默认目录
  你也可以通过修改/etc/gitlab/gitlab.rb来修改默认存放备份文件的目录:
  gitlab_rails['backup_path'] = '/mnt/backups'
  /mnt/backups修改为你想存放备份的目录即可, 修改完成之后使用gitlab-ctl reconfigure命令重载配置文件即可.
  Gitlab 自动备份
  也可以通过crontab使用备份命令实现自动备份:
  sudo su -
  crontab -e
  加入以下, 实现每天凌晨2点进行一次自动备份:
  0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
  Gitlab 恢复
  同样, Gitlab的从备份恢复也非常简单:
  # 停止相关数据连接服务
  gitlab-ctl stop unicorn
  gitlab-ctl stop sidekiq
  # 从1393513186编号备份中恢复
  gitlab-rake gitlab:backup:restore BACKUP=1393513186
  # 启动Gitlab
  sudo gitlab-ctl start
  Gitlab迁移
  迁移如同备份与恢复的步骤一样, 只需要将老服务器var/opt/gitlab/backups目录下的备份文件拷贝到新服务器上的var/opt/gitlab/backups即可(如果你没修改过默认备份目录的话). 但是需要注意的是新服务器上的Gitlab的版本必须与创建备份时的Gitlab版本号相同. 比如新服务器安装的是最新的7.60版本的Gitlab, 那么迁移之前, 最好将老服务器的Gitlab 升级为7.60在进行备份.


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-594156-1-1.html 上篇帖子: Centos7 安装gitlab 8.7.5 下篇帖子: gitlab客户端简单使用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表