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

[经验分享] CentOS7下gitlab的搭建

[复制链接]

尚未签到

发表于 2018-1-10 14:16:33 | 显示全部楼层 |阅读模式
  gitlab的搭建


  • 安装基础包
  

yum -y install curl policycoreutils openssh-server openssh-clients  


DSC0000.png

  • 启动sshd
  

systemctl enable sshd  
systemctl start sshd
  



  • 安装postfix
  

yum -y install postfix  
systemctl enable postfix
  
systemctl start postfix
  



  • 添加防火墙规则
  

firewall-cmd --permanent --add-service=http
  
systemctl>  

  or
  

yum install firewalld  
systemctl unmask firewalld
  



  • 下载并安装软件包(软件包下载较慢)
  

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash  
yum install gitlab-ce
  


添加国内的镜像源
  执行上面的命令,会一直 time out ,所以我们要换成国内的源.
  以下操作针对CentOS 7 ,其他的请戳 https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/
  

vi /etc/yum.repos.d/gitlab-ce.repo  

  

[gitlab-ce]  
name
=gitlab-ce  
baseurl
=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7  
repo_gpgcheck=0
  
gpgcheck=0
  
enabled=1
  
gpgkey=https://packages.gitlab.com/gpg.key
  

  注意,如果对应配置文件下有文件gitlab_gitlab-ce.repo,重命名一下,不然会默认加载这个导致上面的文件不起作用.
  查看目前的yum进程,并杀死
  

ps -a  PID TTY          TIME CMD
  

18781 pts/0    00:00:00 sudo  

18783 pts/0    00:00:00 bash  

18796 pts/0    00:00:00 yum  

18855 pts/0    00:00:00 sudo  

18856 pts/0    00:00:00 yum  

18871 pts/0    00:00:00 ps  

  
kill
-9 18796  
kill
-9 18856  

  然后安装:
  

sudo yum makecache  
sudo yum install gitlab-ce
  

  上面执行完了,是这样的展示结果
  

sudo gitlab-ctl reconfigure  

  
gitlab: GitLab should be reachable at http:
//iZ2851te7e5Z  
gitlab: Otherwise configure GitLab for your system by editing /etc/gitlab/gitlab.rb file
  
gitlab: And running reconfigure again.
  
gitlab:
  
gitlab: For a comprehensive list of configuration options please see the Omnibus GitLab readme
  
gitlab: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
  
gitlab:
  
It looks like GitLab has not been configured yet; skipping the upgrade script.
  验证中      : gitlab-ce-8.7.6-ce.0.el7.x86_64                                                                                         1/1
  

  
已安装:
  gitlab-ce.x86_64 0:8.7.6-ce.0.el7
  

  
完毕!
  

  默认安装的是最新的gitlab-ce的包,如果需要特定的版本可以在官网去下载特定的版本 地址:
  

https://packages.gitlab.com/gitlab/gitlab-ce/  



  • 配置并启动gitlab
  

gitlab-ctl reconfigure  



  • 默认账户密码是
  

Username: root  
Password: 5iveL
!fe  

  测试地址(默认80端口):
  

http://127.0.0.1/  


2、 gitlab的备份


  • 备份命令
  

gitlab-rake gitlab:backup:create  

  默然的备份目录为:    /var/opt/gitlab/backups 备份文件名类似:       1393513186_gitlab_backup.tar


  • 备份目录的修改
  

vi /etc/gitlab/gitlab.rb  
gitlab_rails[
'backup_path'] = '/mnt/gitlab_backups'  


3、gitlab数据的恢复或还原
  提示:gitlab数据的恢复或者迁移成功的前提——两台服务器的gitlab的版本必须相同,若不相同则可能迁移或者恢复失败


  • 将备份文件放在gitlab的默认备份目录
  比如/var/opt/gitlab/backups下的1458217074_gitlab_backup.tar


  • 设置自动备份
  

0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create   



  • 恢复或者还原
  停服务
  

gitlab-ctl stop unicorn  gitlab
-ctl stop sidekiq  

  恢复数据
  

gitlab-rake gitlab:backup:restore BACKUP=1458213020  

  BACKUP后面跟的是备份文件的时间戳,比如恢复备份文件1458217074_gitlab_backup.tar
  

gitlab-rake gitlab:backup:restore BACKUP=1458217074  



  • 恢复完启动服务
  

gitlab-ctl start  


gitlab nginx 修改


  • 配置文件 /var/opt/gitlab/nginx/conf/gitlab-http.conf。这个文件是gitlab内置的nginx的配置文件,里面可以影响到nginx真实监听端口号。
  

  

  

server {  listen
*:82;  

  server_name gitlab.
123.123.cn;  server_tokens off; ## Don
't show the nginx version number, a security best practice  

  

  


  • 修改完成后,重启下,就可以放82端口的gitlab了。
  

  

  

gitlab-ctl restart  

  

  

gitlab redis 修改启用
  

默认情况下gitlab是没有启用自带的redis的(虽然redis已经和gitlab一起启动):  

  

ok: run: gitlab-workhorse: (pid 14263) 1s  
ok: run: logrotate: (pid
14271) 0s  
ok: run: nginx: (pid
14278) 1s  
ok: run: node
-exporter: (pid 14284) 0s  
ok: run: postgres
-exporter: (pid 14288) 1s  
ok: run: postgresql: (pid
14303) 0s  
ok: run: prometheus: (pid
14312) 1s  
ok: run: redis: (pid
14317) 0s  
ok: run: redis
-exporter: (pid 14320) 0s  
ok: run: sidekiq: (pid
14330) 1s  
ok: run: unicorn: (pid
14336) 0s  

  启用自带的redis,修改/etc/gitlab/gitlab.rb:
  

redis['port'] = 6379  
redis[
'bind'] = '127.0.0.1'  

  

[iyunv@localhost ~]# gitlab-ctl reconfigure  

  可以看到redis-server和端口6379,redis已经开始工作了:
  

Running handlers:  
Running handlers complete
  
Chef Client finished,
15/397 resources updated in 25 seconds  
gitlab Reconfigured
!
[iyunv@localhost ~]# gitlab-ctl restart

  

[iyunv@localhost ~]# ps -ef|grep redis

  root       639   632  0 14:54 ?        00:00:00 runsv redis
  root       649   632  0 14:54 ?        00:00:00 runsv redis-exporter
  root       653   639  0 14:54 ?        00:00:00 svlogd -tt /var/log/gitlab/redis
  root       668   649  0 14:54 ?        00:00:00 svlogd -tt /var/log/gitlab/redis-exporter
  gitlab-+ 14317   639  0 16:36 ?        00:00:00 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:6379
  gitlab-+ 14320   649  0 16:36 ?        00:00:00 /opt/gitlab/embedded/bin/redis_exporter -web.listen-address=localhost:9121 -redis.addr=unix:///var/opt/gitlab/redis/redis.socket
  root     14376  8935  0 16:36 pts/2    00:00:00 grep --color=auto redis
  访问一下gitlab主页和各页面,然后查看redis里的缓存清况,已经出现缓存内容了:
  

[iyunv@localhost ~]# /opt/gitlab/embedded/bin/redis-cli  

127.0.0.1:6379> keys *  1) "resque:gitlab:cron_job:admin_email_worker"
  2) "resque:gitlab:cron_job:repository_archive_cache_worker"
  3) "resque:gitlab:limit_fetch:probed:repository_import"
  4) "cache:gitlab:last_commit_id_for_path:2af1c3ff162bb2...................
  

  详细文档:https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/redis.md
  

  

运维网声明 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-433566-1-1.html 上篇帖子: gitlab配置邮件通知功能操作记录 下篇帖子: centos6搭建gitlab
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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