gitlab 安装、配置
gitlab 安装、配置
对于企业级的私有 git 仓库,gitlab 是个不错的选择。
今天就来说说 gitlab 的安装、配置。
系统配置建议:最低双核 4G 内存。
当前针对 gitlab 版本:11.5.3。
1. 说明
根据官方的安装教程,选取 ubuntu 环境下的社区版进行安装:https://about.gitlab.com/install/#ubuntu?version=ce。
如果需要其他的环境(如 CentOS、docker 等)或者企业版,参考这里:https://about.gitlab.com/install/。
注:社区版是免费的,企业版是收费的。
2. 安装、配置所需依赖
sudo apt-get install -y curl openssh-server ca-certificates
sudo apt-get install -y postfix
3. 添加安装包地址,并安装
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo EXTERNAL_URL="http://gitlab.example.com" apt-get install gitlab-ce
这里需要把 http://gitlab.example.com 改成你自己的真正对外服务的 gitlab url 地址(也可以安装后在配置文件里面更改)。
到这里为止,gitlab 就算安装好了。
4. 安装之后
gitlab 默认建议安装在一个单独的主机上,默认使用内置的 nginx 服务器,并使用 80 和 8080 两个端口。
如果你是按照 gitlab 的默认建议,使用的是单独的主机,直接访问 ip 地址 http://ip,或者把域名解析到这台机器上后直接访问域名 http://gitlab.your.com,然后按照步骤在 web 页面上初始化 gitlab 就可以了。
然而,很多情况下,gitlab 并不会部署到一台单独的服务器上,而是像其他很多服务一样(如 jenkins),部署到同一台服务器上,然后使用 nginx 反向代理。
5. nginx 反向代理配置
添加 nginx 配置:
upstream gitlab-workhorse {
server unix:/var/opt/gitlab/gitlab-workhorse/socket;
}
server {
listen 0.0.0.0:80;
listen [::]:80;
server_name gitlab.your.com;
server_tokens off;
root /opt/gitlab/embedded/service/gitlab-rails/public;
access_log /var/log/nginx/gitlab_access.log;
error_log /var/log/nginx/gitlab_error.log;
location / {
client_max_body_size 0;
gzip off;
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://gitlab-workhorse;
}
}
如果想要了解更详细的配置,可以参考:NGINX settings | GitLab。
重新加载 nginx 配置:
service nginx reload
# or
service nginx restart
修改 gitlab 配置:
vi /etc/gitlab/gitlab.rb
external_url 'http://gitlab.your.com' # 此处修为你自己的 gitlab url
web_server['external_users'] = ['www-data'] # 设置外部 webserver 用户
nginx['enable'] = false # 不使用内置的 nginx
sudo usermod -aG gitlab-www www-data # 把 www-data 用户添加到 gitlab-www 组
gitlab 服务默认使用的是 8080 端口,如果 8080 端口已经被其他程序(如 tomcat)占用,需要改成其他端口:
unicorn['port'] = 8081 # 改成你自己觉得好的端口
更新 gitlab 配置,重启服务:
gitlab-ctl reconfigure
gitlab-ctl restart
现在你就可以访问 http://gitlab.your.com,然后按照步骤在 web 页面上初始化 gitlab 就可以了。
6. 常用命令
gitlab-ctl start # 启动 gitlab
gitlab-ctl stop # 停止 gitlab
gitlab-ctl restart # 重启 gitlab
gitlab-ctl status # 查看服务状态
vi /etc/gitlab/gitlab.rb # 修改配置文件
gitlab-ctl reconfigure # 重新编译 gitlab 配置
gitlab-rake gitlab:check SANITIZE=true --trace # 检查 gitlab
gitlab-ctl tail # 查看日志
gitlab-ctl tail nginx/gitlab_access.log
7. 常用目录
/var/log/gitlab/ # 日志地址
/var/opt/gitlab/ # 服务地址
8. 查看版本
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
9. 可能遇到的一些问题
9.1 File to import not found or unreadable

解决:需要 npm 安装一下
cd /opt/gitlab/embedded/service/gitlab-rails
npm install
gitlab-ctl restart # 重启服务
后续
更多博客,查看 https://github.com/senntyou/blogs
版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
gitlab 安装、配置的更多相关文章
- CentOS gitlab 安装配置
CentOS gitlab 安装配置 2018-11-02 11:23:09 Visit 5 在/etc/yum.repos.d 目录下创建文件gitlab-ce.repo,使用国内的安装源 b ...
- [ci]gitlab安装配置(含gitlab邮件配置)
gitlab安装配置 参考: https://www.unixhot.com/article/48 原则:简单维护为准,故yum安装gitlab 1,gitlab安装 2,gitlab邮箱配置 1,g ...
- GitLab 安装配置笔记(转)
GitLab的安装方式 GitLab的两种安装方法: 编译安装 优点:可定制性强.数据库既可以选择MySQL,也可以选择PostgreSQL;服务器既可以选择Apache,也可以选择Nginx. 缺点 ...
- gitlab之一: gitlab安装配置使用
参考: gitlab 安装和配置 gitlab下载地址: https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/ 官方教程: https://about.gitl ...
- centos7.3 gitlab 安装配置
1. 设备环境 硬件配置联想 TS250 E3-1225,16G内存,2X1 TB 软件CentOS-7-x86_64-DVD-1804.iso ,安装时选择桌面版 推荐配置参考:https://do ...
- Centos 6.5 GitLab安装配置搭建详细过程
GitLab搭建详细过程 一.前提 系统:Centos 6.5 软件版本:gitlab-7.8.4 Selinux:关闭 防火墙规则:先清空(搭建好了后续自己添加相关放行规则) 二.yum源配置和 ...
- gitlab安装配置
一.安装依赖服务 yum install curl policycoreutils-python openssh-server postfix -y systemctl start postfix s ...
- Gitlab 安装配置
Gitlab 很好的替代Github,可以安装到公司的内网服务器 进行管理 ,可以分布式的管理,集中的管理 下面介绍安装这个软件的步骤 其实安装很简单的 按照官网可以安装 https://about ...
- 一文搞懂GitLab安装部署及服务配置
GitLab安装部署 Git,GitHub,GitLab,这三个东东长得好像呀,都是个啥? Git是Linus Torvalds(如果不知道这位大神是谁,请出门左转,慢走不送~)为了帮助管理Linux ...
- gitlab安装随记
gitlab安装 配置yum源 sudo vim /etc/yum.repos.d/gitlab-ce.repo 按照网上别人的例子,修改为清华的源 [gitlab-ce] name=Gitlab C ...
随机推荐
- 【UTR #3】量子破碎
一道有趣的题. 看到按位的矩阵运算,如果对FWT比较熟悉的话,会比较容易地想到. 这种形式也就FWT等转移里面有吧--就算有其他的也难构造出来. 然而FWT的矩阵并不是酉矩阵(也就是满足 \(AA^T ...
- 12.并发编程--Queue
并发编程--Queue Queue - 非阻塞队列 - 阻塞队列 Queue是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作.进行插入操作的端称为 ...
- 怎么理解一个规模大且结构复杂的c工程源码
很久以前,当要着手一个规模很大,结构复杂的c工程源码时,总是感觉无从下手.这个时候,一般google一下”XX源码分析“.当这个源码是很广泛使用的时,这样到也能得到不少启发:很不幸,经常要接触一些很少 ...
- 转自B站 真希望我在20岁就懂得的10个人生道理 主讲:王魄
视频地址:https://www.bilibili.com/video/av65194244?from=search&seid=15261178568916939794 这位阿姨讲得还行,特别 ...
- EC
- 第七章 SpringCloud之非声明式RestClient:Feign
study-url:https://cloud.spring.io/spring-cloud-static/spring-cloud-netflix/1.4.6.RELEASE/multi/multi ...
- PyQt GUI--信号与槽
目录 目录 前言 系统软件 GUI的主循环 信号与槽 信号的应用 使用控件类的内建信号 自定义信号 带参数的信号 槽的应用 创建槽 信号和槽的连接 最后 前言 PyQt中的信号和槽,就是一个触发和执行 ...
- Selenium 2自动化测试实战4(引用模块)
一.模组1.模组也叫类库或模块,引用模块 在python中,通过import….或from….import….的方式引用模块,下面引用time模块 import time print (time.ct ...
- Android 动态申请权限
AndroidManifest.xml(清单文件)添加需要的权限 <uses-permission android:name="android.permission.ACCESS_CO ...
- java:struts2.3框架1(struts2快速配置,各文件之间的关系,基础代码简化版,XML中的通配符)
1.struts2快速配置: A.到http://struts.apache.org下载struts2开发包struts-2.3.32-all.zip B.新建web项目并添加struts2依赖的ja ...