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

[经验分享] Gitlab上采用rpm方式快速安装的操作记录

[复制链接]

尚未签到

发表于 2018-1-10 16:10:50 | 显示全部楼层 |阅读模式
  之前梳理了一篇Gitlab的安装CI持续集成系统环境---部署Gitlab环境完整记录,但是这是bitnami一键安装的,版本比较老。下面介绍使用rpm包安装Gitlab,下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/,针对centos6和centos7的各版本Gitlab下载。如果下载不下来或者下载巨慢,可以尝试:清华大学镜像
  一、下面记录centos6.9系统下的Gitlab安装过程(最好找一台环境比较干净的机器):
  

1)配置系统防火墙,把HTTP和SSH端口开放(关闭iptables或者开放ssh).  
[iyunv@gitlab ~]# /etc/init.d/iptables stop
  
[iyunv@gitlab ~]# yum install curl openssh-server postfix cronie
  
[iyunv@gitlab ~]# service postfix start
  
[iyunv@gitlab ~]# chkconfig postfix on
  
[iyunv@gitlab ~]# lokkit -s http -s ssh        //如果iptables关闭了,这条命令就无需执行了。这条命令是用来设置防火墙的,开放http和ssh访问端口
  

  
2)下载gitlab的rpm安装包
  
已提前下载放到百度云里:
  
http://pan.baidu.com/s/1c2EPRLQ
  
提前密码:qys2
  
[iyunv@gitlab ~]# rpm -ivh gitlab-ce-9.4.5-ce.0.el6.x86_64.rpm --force
  

  
安装后的gitlab默认路径是/opt/gitlab(程序路径)、 /var/opt/gitlab(配置文件路径)。
  

  
3) 接着进行配置
  
[iyunv@gitlab ~]# gitlab-ctl reconfigure
  

  
上面配置命令执行后,如没有报错,就说明gitlab配置成功。配置后会生成各应用服务配置文件,放在/opt/gitlab/etc下,日志路径为/var/log/gitlab/
  

  
4)然后启动gitlab
  
[iyunv@gitlab ~]# gitlab-ctl start
  
[iyunv@gitlab ~]# gitlab-ctl status
  

  
5)最后就可以使用http://localhost顺利访问Gitlab了。整个安装过程大概10分钟搞定(rpm包下载比较费时间)
  

  

  二、Gitlba安装后的几个细节的配置
  

Gitlab如果是编译安装的默认管理员账号密码是:admin@local.host|5iveL!fe,如果是 rpm包安装则管理员账号密码是root|5iveL!fe  

  Gitlab安装后,http://localhost访问,首次访问的时候,如果不知道管理员账号和密码,尽管可以注册用户,但注册的用户都不是管理员。这个时候,可以重置管理员的密码,管理员默认是root。
  重置管理员密码(密码要是8位)的方法如下:
  

[iyunv@gitlab ~]# gitlab-rails console production  
Loading production environment (Rails 4.1.1)
  
irb(main):001:0> user = User.where(id:1).first
  
irb(main):002:0> user.password='12345678'
  
irb(main):003:0> user.save!
  

  
这样,Gitlab管理员的登录权限就是:root/12345678,管理员的默认邮箱是部署机的本机邮箱,也是从本机发的邮件。这也就是为什么在开头要安装postfix。
  

  
修改下面几处,否则邮件发出后,点击会报错。下面的192.168.1.24是部署机ip。
  

  
[iyunv@gitlab ~]# cd /opt/gitlab/
  
[iyunv@gitlab gitlab]# cat embedded/service/gitlab-rails/config/gitlab.yml|grep 192.168.1.24
  host: 192.168.1.24
  email_from: gitlab@192.168.1.24
  

  
[iyunv@gitlab gitlab]# cd /var/opt/gitlab/
  
[iyunv@gitlab gitlab]# cat ./gitlab-rails/etc/gitlab.yml|grep 192.168.1.24
  host: 192.168.1.24
  email_from: gitlab@192.168.1.24
  

  
最后重启gitlab-ctl生效
  
[iyunv@gitlab gitlab]# gitlab-ctl restart
  

  

  在管理员账号(root)登录后,先把"注册"功能关了,这样就只能在管理员账号下创建用户。关闭注册功能方法
  访问http://192.168.1.24/admin/application_settings,如下:
  关闭"Sign-up enabled"功能(特别注意:Sign-in enabled登录功能不要关闭了,看清楚!)

  三、Gitlab批量添加账号
  

[iyunv@gitlab ~]# cat gitlab.sh  
#!/bin/bash
  
#批量创建gitlab用户
  
userinfo="userinfo.text"
  
while read line
  
do
  password=`echo $line | awk '{print $1}'`
  mail=`echo $line | awk '{print $2}'`
  username=`echo $line | awk '{print $3}'`
  name=`echo $line | awk '{print $4}'`
  curl -d "reset_password=$password&email=$mail&username=$username&name=$name&private_token=ucUctguWU6-2qrvRnGiB" "http://192.168.1.24/api/v4/users"
  

  
done <$userinfo
  

  
[iyunv@gitlab ~]# cat userinfo.text
  
1  zhanjiang.feng@wang.com zhanjiang.feng zhanjiang.feng
  
1  hongkang.yan@wang.com hongkang.yan hongkang.yan
  
1  yansong.wang@wang.com yansong.wang yansong.wang
  
1  bo.xue@wang.com bo.xue bo.xue
  
1  junlong.li@wang.com junlong.li junlong.li
  
1  luyu.cao@wang.com luyu.cao luyu.cao
  
1  xueqing.wang@wang.com xueqing.wang xueqing.wang
  
1  xu.guo@wang.com xu.guo xu.guo
  
1  bing.xing@wang.com bing.xing bing.xing
  
1  mengmeng.li@wang.com linan linan
  

  

  注意:上面userinfo.txt文件里的四行分别表示密码,邮箱,用户名,别名。上面命令执行后,就可以批量创建用户了!
  其中密码用1表示重置密码,也就是用户创建之后,会给用户邮箱发送两封邮件:
  -> 一封确认绑定邮箱的邮件,一定要点击这个邮件里的confirm确认地址(否则登录无效);
  -> 另一封是重置用户密码的邮件。重置后就可以使用邮箱或用户名登陆了。
  注意上面脚本中的private_token(这个很重要,否则批量创建不了用户)的值是从gitlab的管理员账号登录后的"settings-Account"界面里找到的,如下:

  访问脚本中gitlab的用户接口地址http://192.168.1.24/api/v4/users,试试能否访问!
  -----------------------------------------------------------------------------Email的smtp设置-------------------------------------------------------------------------------------------
  

上面默认是用部署机本地的postfix发邮件。如果要想使用第三方邮箱发邮件,这就需要修改/var/opt/gitlab/gitlab-rails/etc/unicorn.rb文件:  
[iyunv@gitlab ~]# # cat /etc/gitlab/gitlab.rb.bak22|grep -v "^#"|grep -v "^$"
  
external_url 'http://192.168.1.24'
  
gitlab_rails['gitlab_email_from'] = 'wangshibohaha@163.com'
  
gitlab_rails['smtp_enable'] = true
  
gitlab_rails['smtp_address'] = "smtp.163.com"
  
gitlab_rails['smtp_port'] = 25
  
gitlab_rails['smtp_user_name'] = "wangshibohaha@163.com"
  
gitlab_rails['smtp_password'] = "*******"
  
gitlab_rails['smtp_domain'] = "163.com"
  
gitlab_rails['smtp_authentication'] = "login"
  
gitlab_rails['smtp_enable_starttls_auto'] = true
  
user['git_user_email'] = "wangshibohaha@163.com"
  

  
由于该文件会影响gitlab-ctl指令,如果改动了则需要重新运行配置。
  
注意这个重新配置的动作要在上面细节配置之前,否则上面的配置在reconfigure之后就会被覆盖到默认状态!
  
[iyunv@gitlab ~]#  gitlab-ctl reconfigure
  

  
--------------------------------------------------------------------------------------------
  
上面使用的是163邮箱,下面再贴下公司企业邮箱(用的是Coremail论客邮件系统,注意邮箱的smtp地址要正确)的配置:
  
[iyunv@gitlab ~]# cat /etc/gitlab/gitlab.rb|grep -v "^#"|grep -v "^$"
  
external_url 'http://192.168.1.24'
  
gitlab_rails['gitlab_email_from'] = 'notice@vdholdhaha.com'
  
gitlab_rails['smtp_enable'] = true
  
gitlab_rails['smtp_address'] = "smtp.icoremail.net"
  
gitlab_rails['smtp_port'] = 25
  
gitlab_rails['smtp_user_name'] = "notice@vdholdhaha.com"
  
gitlab_rails['smtp_password'] = "notice@123"
  
gitlab_rails['smtp_domain'] = "icoremail.net"
  
gitlab_rails['smtp_authentication'] = "login"
  
gitlab_rails['smtp_enable_starttls_auto'] = true
  
user['git_user_email'] = "notice@vdholdhaha.com"
  

  gitlab-ctl的常用命令:
  //启动
  gitlab-ctl start
  //查看运行状态
  gitlab-ctl status
  //停止
  gitlab-ctl stop
  //查看错误信息
  gitlab-ctl tail
  //保存配置
  gitlab-ctl reconfigure

运维网声明 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-433608-1-1.html 上篇帖子: [chrome插件分享] gitlab-tree 更方便的浏览Gitlab上的代码 下篇帖子: 鸾舞春秋
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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