omnibus方式安装gitlab-ce私有源
GitLab是利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。omnibus方式即是通过gitlab提供的一个打包好的文件,通过类似一键似的安装来完成gitlab-ce企业私有代码库的安装。这里以centos7/rhel7 下的rpm包安装为例。
一、安装依赖
1yum -y install policycoreutils openssh-server openssh-clients postfix
2systemctl enable postfix && systemctl start postfix
二、gitlab-ce的安装
有外网连接环境的,可以直接通过官方的bash文件进行安装,如果连gitlab比较慢,也可以考虑使用国内的清华大学的源 进行安装。不过清华大学的源相对于gitlab上有些滞后。如果没有外网环境,可以打开:https://packages.gitlab.com/gitlab/gitlab-ce url下载相应版本的包,进行安装。
1# shell 安装
2curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
3# 清华大学源安装
4# 新建 /etc/yum.repos.d/gitlab-ce.repo,内容为
5[gitlab-ce]
6name=Gitlab CE Repository
7baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
8gpgcheck=0
9enabled=1
10# 再执行
11sudo yum makecache
12sudo yum install gitlab-ce
无外网的直接下载相应的rpm包,执行rpm -ivh gitlab-ce-xxx.rpm 安装就行了。
三、gitlab.rb配置文件
默认rpm安装好,gitlab的配置文件是/etc/gitlab/gitlab.rb , gitlab配置对外的IP端口、备份目录、备份保存时间、时区、是否启用某些特性等全部在文件配置,这里以修改gitlab对外提供服务的地址为例,配置项见下图:
四、配置启用gitlab
完成配置后,可以通过如下命令配置和启用gitlab:
1gitlab-ctl reconfigure
2gitlab-ctl restart
其他常见命令如下:
1sudo gitlab-ctl start # 启动所有 gitlab 组件;
2sudo gitlab-ctl stop # 停止所有 gitlab 组件;
3sudo gitlab-ctl restart # 重启所有 gitlab 组件;
4sudo gitlab-ctl status # 查看服务状态;
5sudo gitlab-ctl reconfigure # 启动服务;
6sudo vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;
7gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab;
8sudo gitlab-ctl tail # 查看日志;
接下来打开相应的URL就会跳出gitlab的主界面了,新的版本现在第一次打开时,会让输入root用户的的新的密码。输入新密码后,可以通过登陆管理projcet。老版本中默认的用户密码是:Username: root 、Password: 5iveL!fe 。
五、更改nginx服务
gitlab-ce omnibus包里默认集成的有nginx,不过很多时候,一台主机上可能不仅仅只跑一个gitlab-ce服务,经常会出现几个服务在一台主机上的情况。比如jenkies、bamboo、jira之类的放在一起,在此之前主机上已经安装有nginx的,也可以使用主机上编译的nginx进行集成,方法如下:
打开/etc/gitlab/gitlab.rb,找到nginx[’enable’] = true,更改为nginx[’enable’] = false,检查默认nginx配置文件,并迁移至新Nginx服务,其配置文件位置如下:
1/var/opt/gitlab/nginx/conf/nginx.conf #nginx配置文件,包含gitlab-http.conf文件
2/var/opt/gitlab/nginx/conf/gitlab-http.conf #gitlab核心nginx配置文件
六、gitlab服务的构成
1Nginx:静态web服务器。
2gitlab-shell:用于处理Git命令和修改authorized keys列表。
3gitlab-workhorse: 轻量级的反向代理服务器。
4logrotate:日志文件管理工具。
5postgresql:数据库。
6redis:缓存数据库。
7sidekiq:用于在后台执行队列任务(异步执行)。
8unicorn:An HTTP server for Rack applications,GitLab Rails应用是托管在这个服务器上面的。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/gitlab-ce-install/5711.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.