CentOS7搭建GitLab 环境要求:内存至少4G,GitLab是很耗内存滴 一、 安装并配置必要的依赖关系 在 CentOS 系统上,下面的命令将会打开系统防火墙 HTTP 和 SSH 的访问。
$ sudo yum install -y curl policycoreutils-python openssh-server
$ sudo systemctl enable sshd
$ sudo systemctl start sshd
$ sudo firewall-cmd --permanent --add-service=http
$ sudo systemctl reload firewalld
安装 Postfix ,用来发送邮件,在安装 Postfix 的过程中选择 'Internet Site'。
$ sudo yum install postfix
$ sudo systemctl enable postfix
$ sudo systemctl start postfix
也可以配置自定义的 SMTP 服务器。 二、 添加 GitLab 镜像仓库并安装 gitlab-ce 是社区版,免费 gitlab-ee 是企业版,收费 2.1 使用官方镜像安装
$ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
$ sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce # 安装 GitLab
2.2 使用国内镜像安装(推荐) 如果提示连接超时,可以使用 清华大学开源软件镜像站:https://mirror.tuna.tsinghua....。 进入该网站后,有详细的安装步骤,跟着安装即可。 这里介绍一下在CentOS中使用 清华大学开源软件镜像站安装: 先还原yum源, 删掉gitlab-ce源 :
$ ls -l /etc/yum.repos.d/ # 查看源配置项 $ mv /etc/yum.repos.d/gitlab_gitlab-ce.repo /etc/yum.repos.d/gitlab_gitlab-ce.repo.bak # 备份源配置项(也可以直接删除 rm) 新建 /etc/yum.repos.d/gitlab-ce.repo,内容为 [gitlab-ce] name=Gitlab CE Repository baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck=0 enabled=1
再执行 $ sudo yum makecache $ sudo yum install gitlab-ce 安装完以后 /opt/gitlab/ 目录结构 /opt/gitlab/ ├── backups ├── git-data │ └── repositories │ └── root ├── gitlab-ci │ └── builds ├── gitlab-rails │ ├── etc │ ├── shared │ │ ├── artifacts │ │ ├── lfs-objects │ │ └── pages │ ├── sockets │ ├── tmp │ ├── upgrade-status │ ├── uploads │ └── working ├── gitlab-shell ├── gitlab-workhorse ├── logrotate │ └── logrotate.d ├── nginx │ ├── client_body_temp │ ├── conf │ ├── fastcgi_temp │ ├── logs -> /var/log/gitlab/nginx │ ├── proxy_cache │ ├── proxy_temp │ ├── scgi_temp │ └── uwsgi_temp ├── postgresql │ └── data │ ├── base │ │ ├── 1 │ │ ├── 12918 │ │ ├── 12923 │ │ └── 16385 │ ├── global │ ├── pg_clog │ ├── pg_multixact │ │ ├── members │ │ └── offsets │ ├── pg_notify │ ├── pg_serial │ ├── pg_snapshots │ ├── pg_stat_tmp │ ├── pg_subtrans │ ├── pg_tblspc │ ├── pg_twophase │ └── pg_xlog │ └── archive_status └── redis 三、 配置并启动 GitLab 启动命令 $ sudo gitlab-ctl reconfigure # 首次启动也要用此命令。重新加载配置并启动 $ sudo gitlab-ctl start # 启动 $ sudo gitlab-ctl stop # 停止 /etc/gitlab/ 目录结构: /etc/gitlab/ ├── gitlab.rb ├── gitlab-secrets.json └── ssl └── trusted-certs gitLab基本配置集中在 /etc/gitlab/gitlab.rb 文件, 每个参数的作用和配置请参考官网的配置说明. 配置参数: ### Advanced settings # unicorn['listen'] = 'localhost' # unicorn['port'] = 8090 #默认是8080端口 nginx['listen_port'] = 8081 # gitlab nginx 端口。默认端口为:80 external_url 'http://192.168.137.129' # clone时显示的地址,gitlab 的域名 配置: $ sudo gitlab-ctl stop # 先停止 GitLab 服务 $ vim /etc/gitlab/gitlab.rb # 修改配置文件 进行任何改动后, 保存退出, 在命令行逐个输入以下命令使配置生效 启动数据库, 不然 reconfigure 报错 $ sudo gitlab-ctl restart postgresql $ sudo gitlab-ctl reconfigure $ sudo gitlab-ctl start 四、访问 系统默认的管理员账号为 root,第一次访问 GitLab,会要求初始化管理员账号的密码。 五、端口冲突问题 装好后,你会发现一个问题;gitlab 其实是个web;他自带了个nginx;如果你本身也是一台服务器的话,上面也会装有 apache 或者 nginx 等;那么端口就冲突了; 更改gitlab自带nginx的默认端口即可 六、卸载GitLab $ sudo gitlab-ctl stop # 停止 $ sudo rpm -e gitlab-ce # 卸载 $ ps aux | grep gitlab # 查看守护进程 $ kill -9 18777 # 杀掉守护进程 $ find / -name gitlab | xargs rm -rf # 删除所有包含gitlab的文件
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。