环境:CentOS
配置:至少4G内存(官方是这样的,咱也不差这点内存,对吧~.~),硬盘空间尽量大一点
备注:由于本人用的是GitLab来构建的代码仓库管理,所以主要是对GitLab进行一些小经验说明,如果有误的地方,欢迎批评指正!
一、依赖包安装
## 安装依赖 ##
yum install -y curl policycoreutils-python openssh-server
## 启用SSH ##
systemctl enable sshd
systemctl start sshd
## 防火墙 ##
firewall-cmd --permanent --add-service=http
systemctl reload firewalld
## /etc/sysconfig/selinux 永久生效 ##
setenforce 0
二、软件包安装
官方:https://packages.gitlab.com/gitlab/gitlab-ce
清华:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce
下载命令: sudo wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.6.2-ce.0.el7.x86_64.rpm
安装命令: sudo rpm -i [包名] 例: sudo rpm -i gitlab-ce-12.6.2-ce.0.el7.x86_64.rpm
三、配置文件
安装完成后,对GitLab的配置文件进行修改,通常会修改访问地址和端口的配置
配置文件目录: /etc/gitlab/gitlab.rb
在配置文件中 找到 external_url,将值改成 需要的地址,可以是域名,或者 ip:port 格式
## 打开配置文件 ##sudo
vim /etc/gitlab/gitlab.rb
## 按 i 进入编辑状态,编辑完成后 按 esc 退出编辑状态,输入 :wq 进行保存 ##
## 重启配置 ##sudo
gitlab-ctl reconfigure sudo gitlab-ctl start
## 查看状态 ##sudo
gitlab-ctl status
ps: 如果我们修改了外部使用的 PostgreSQL、Redis、Nginx 也需要同样的修改对应的参数
其中,Gitlab的依赖安装目录:/var/opt/gitlab/ 目录下,有 Nginx、PostgreSQL、Redis、Unicorn、Sidekip、LogRotate
四、运行架构
1、Nginx : web入口
2、Database: postgresql,mysql (gitlab repository issue,merge request等,用户(权限))
3、Redis 缓存,负责分发任务
4、Sidekiq:后台任务,主要负责发送电子邮件,任务需要来自redis
5、Unicorn: 包含gitlab 主进程
6、gitlab-shell: 用于ssh交互
7、gitlab-workhorse:反向代理服务器,可以处理与unicorn 无关的请求,处理git pull/push请求,处理到unicorn 的连接
8、gitaly: 后台服务,用于处理GitLab发出的所有git调用
## 当我们卸载了GitLab重新安装,reconfigure配置的时候,可能会因为redis受阻,我们可以执行以下此命令
systemctl enable gitlab-runsvdir.service
systemctl start gitlab-runsvdir.service
五、常用目录
- /opt/gitlab 主目录
- /etc/gitlab 配置文件目录
- /var/log/gitlab 日志目录
六、常用命令
gitlab-ctl reconfigure #重新编译配置
gitlab-ctl start #启动全部服务
gitlab-ctl restart #重启全部服务
gitlab-ctl stop #停止全部服务
gitlab-ctl restart nginx #重启单个服务
gitlab-ctl status #查看全部组件的状态
gitlab-ctl show-config #验证配置文件
gitlab-ctl uninstall #删除gitlab(保留数据)
gitlab-ctl cleanse #删除所有数据,重新开始
gitlab-ctl tail <svc_name> #查看服务的日志
gitlab-rails console production #进入控制台 ,可以修改root 的密码
七、完全卸载
# 停止
gitlab
sudo
gitlab-ctl stop
# 查看进程
ps -e | grep gitlab
# 如果存在 runsvdr .P /opt/gitlab/service.log, 就杀掉
kill -9 [runsvdr的进程id]
# 删除所有包含gitlab的文件及目录(谨慎)
find / -name gitlab | xargs rm -rf
# 卸载
sudo
rpm -e gitlab-ce
# 检查还有没有卸载的gitlab相关软件
dpkg --get-selections | grep gitlab
# 再执行
sudo
apt-get --purge remove gitlab-ce
==========
根据自己在搭建过程中遇到的进行的整理,各位博友不喜勿喷^_^