赞
踩
因为gitHub
上的项目是公开的,不适合公司内部项目放在上面,而私人的需要收费,这绝非是我们愿意的。所以很多人使用和gitHub
很相似,但是又免费的gitLab
。现在将搭建gitLab
过程记录一下留作参考。
GitLab是利用 Ruby on Rails
一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
依赖组件:ruby 1.9.3+,MySQL,git,redis, Sidekiq。
最低配置CPU 1G,RAM 1G+swap可以支持100用户。
首先在清华大学开源镜像站里面找到一个安装包(点击链接),选择一个合适的版本:
其中,CentOS7就选el7,CentOS8就选el8,因为我的是CentOS 7,所以我选el7版本的。
在里面挑一个版本进行下载,我就下载最新版的了。复制下载链接,到服务器执行
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.9.7-ce.0.el7.x86_64.rpm
代表下载文件到当前文件夹
首先安装依赖
- sudo yum install -y curl policycoreutils-pythonopenssh-server
- sudo yum install postfix
然后执行下面的命令进行安装
- rpm -ivh gitlab-ce-13.9.7-ce.0.el7.x86_64.rpm
-
他提示缺policycoreutils-python
,所以我们就安装一下它
yum -y install policycoreutils-python
继续执行安装命令,稍等片刻
安装成功!
上面那张图,可以看到
- Please configure a URL for your GitLab instance by setting `external_url`
- configuration in /etc/gitlab/gitlab.rb file.
- Then, you can start your GitLab instance by running the following command:
- sudo gitlab-ctl reconfigure
所以我们可以按照他说的,修改配置文件/etc/gitlab/gitlab.rb
里的external_url
设置
执行下面命令编辑文件
vim /etc/gitlab/gitlab.rb
按住键盘上的INSERT
键,修改文件,把external_url
配置修改成http://ip地址:端口
比如我设置成9999端口访问(默认是8080,和Tomcat冲突了)
修改完成之后按一下键盘的ESC
键,然后输入:wq
后回车,即可保存文件。
然后执行下面命令刷新配置:(因为我是用root账号登录的所以就不加sudo
了)
gitlab-ctl reconfigure
下面就是漫长的等待,直到下面完成。
配置完成之后重启:
gitlab-ctl restart
出现下面内容表示启动成功了。
gitlab-ctl status:查看gitlab组件状态
gitlab-ctl status
如下表示没有运行(down)
如下表示正在运行(run)
gitlab-ctl start:启动全部服务
gitlab-ctl restart:重启全部服务
gitlab-ctl stop:停止全部服务
gitlab-ctl reconfigure:使配置文件生效(一般修改完主配置文件/etc/gitlab/gitlab.rb,需要执行此命令)
gitlab-ctl show-config :验证配置文件
gitlab-ctl uninstall:删除gitlab(保留数据)
gitlab-ctl cleanse:删除所有数据,从新开始
gitlab-ctl tail <service name>查看服务的日志
nginx:静态Web服务器
gitlab-shell:用于处理Git命令和修改authorized keys列表,我们的gitlab是以Git做为最层的,你操作实际上最后就是调用gitlab-shell命令进行处理。
gitlab-workhorse:轻量级的反向代理服务器
logrotate:日志文件管理工具
postgresql:数据库
redis:缓存数据库
sidekiq:用于在后台执行队列任务(异步执行)
unicorn:GitLab Rails应用是托管在这个服务器上面的
/var/opt/gitlab/git-data/repositories:库默认存储目录
/opt/gitlab: 应用代码和相应的依赖程序
/var/opt/gitlab:gitlab-ctl reconfigure命令编译后的应用数据和配置文件,不需要人为修改配置
/etc/gitlab: 配置文件目录
/var/log/gitlab:此目录下存放了gitlab各个组件产生的日志
/var/opt/gitlab/backups/:备份文件生成的目录
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。