Gitlab 的部署以及应用
GitLab 简介
GitLab 是一个用于仓库管理系统的开源项目, 使用 Git 作为代码管理工具, 它也是一个自托管的 Git 项目仓库, 是集代码托管, 测试, 部署于一体的开源 git 仓库管理软件, 可通过 web 界面来进行访问公开的或私人项目. 现阶段的大小企业都在使用 gitlab 来测试发布代码. GitLab 提供的不仅仅是线上的, 强大的它能可以让用户自己部署, 发布自己的项目, 这一点是 github 上没有的.
Git 的分支有很多, 从发展到现在, 已经从只是一个简单的工具(如 git), 发展成了库(如 gitlib,github), 一直又延生到软件系统等等(如 gitlab), 说明 git 的作用非常重要, 这是毋庸置疑的.
废话不多说, 接下来我们来安装 gitlab, 实现自己的 git 仓库管理, 安装 gitlab 官网上也说明了需要的 linux 配置比较高点, 至少 4GB 的可内存 (RAM 交换) 来安装和使用 GitLab. 接下来我们需要手动安装, 你也可以安装官网的来安装, 不过个人不是很推荐. 官网安装地址 https://about.gitlab.com/installation/#centos-7
手动安装(centos7):
一, gitlab 的安装
1, 安装依赖包:
#yum install -y curl policycoreutils openssh-server openssh-clients
2, 安装邮件服务, postfix 设置开机启动, postfix 支持 gitlab 发信功能
- .
- #yum install -y postfix
- #systemctl enable postfix
- #systemctl start postfix
注意:
如果是开启防火墙 firewall, 需要以下配置
- #firewall-cmd --permanent --add-service=http
- #systemctl reload firewalld
3, 使用国内源, 添加 GitLab 镜像源并安装.
#vim /etc/yum.repos.d/gitlab_gitlab-ce.repo
添加内容如下:
- [gitlab-ce]
- name=gitlab-ce
- baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
- repo_gpgcheck=0
- gpgcheck=0
- enabled=1
- gpgkey=https://packages.gitlab.com/gpg.key
baseurl 源有很多, 如果你的是 centos6 的话, 可把下载地址改成 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6 就可以了.
4, 安装 gitlab
#yum install gitlab-ce
安装成功如下:
5, 配置启动 gitlab
进入 gitlab.rb 配置文件, 配置 ip 与端口一般配置格式为(external_url 'http://ip 或者域名: 端口'), 如下图所示:
注意得是 gitlab 默认端口是 8080, 所以配置的时候需要查看 (netstat -ntpl) 端口是否被占用
# vim /etc/gitlab/gitlab.rb
启用 gitlab
#gitlab-ctl reconfigure
启动时间比较久, 成功如下:
查看端口 http 服务是否起来了
我这里可以发现已经是起来了.
6, 访问 gitlab
第一次访问 GitLab, 系统会重定向页面到重定向到重置密码页面, 你需要输入初始化管理员账号的密码, 管理员的用户名为 root, 初始密码为 5iveL!fe.
登陆后会提示一个登陆界面, 这个界面是用来更改你的密码, 如下图所示:
更完密码后, 会跳转到登陆页面, 我们直接登录就可以了
用户: root
密码:(更改密码)
之后我们就可以登录到我们直接的 gitlab 了
二, gitlab 汉化配置
汉化一般是适合看英文不习惯的.
安装 git
- #yum install -t git
- #mkdir /usr/local/gitlab
- #cd /usr/local/gitlab
下载最新的汉化包:
#git clone https://gitlab.com/xhang/gitlab.git
停止 GitLab 并执行如下语句:
- #gitlab-ctl stop
- #cp -rf /usr/local/gitlab/gitlab/* /opt/gitlab/embedded/service/gitlab-rails/
复制时可能不断提示是否要覆盖, 这时可能是系统每次执行 cp 命令时, 其实是执行了 cp -i 命令的别名. 出现这种情况可以修改 / root/.bashrc, 把 "alias cp='cp-i'改为"alias cp='cp'即可.
注释后记得执行:
#source /root/.bashrc
接下来可以重新配置和启动:
- # gitlab-ctl reconfigure
- # gitlab-ctl restart
访问页面, 发现已经汉化成功了.
三, 常见错误以及解决办法
在访问 gitlab 的时候我们会发现会有 502 的错误, 到底是什么原因
解决办法:
1, 权限问题
Gitlab 文件需要给予读写的权限
解决办法
#chmod -R 755 /var/log/gitlab
2, 端口问题
Gitlab 的默认启动端口是 80,8080, 所以有肯能会与其他的端口产生冲突, 所以需要修改文件.
#vim /etc/gitlab/gitlab.rb
更改参数
- external_url 'http://localhost:8888' #指定访问端口, 默认是 80
- unicorn['listen'] = '127.0.0.1'
- unicorn['port'] = 8001 # 为 unicorn worker 的工作端口, 默认为 8080, 如果你的 8080 端口被占用的, 这一项需要更改.
重启 gitlab
- #gitlab-ctl reconfigure
- #gitlab-ctl restart
3, 内存不足的问题
安装 gitlab 的时候, 已经说明你的空余内存需要有 4G 左右的内存, 所以在安装 gitlab 的时候, 请给足内存, 在安装.
四, 总结
学会 gitlab 的常规安装已经应用和排错, gitlab 的应用更 github 差不多, 搭建完就后我们需要进一步的使用 git 的常规命令操作, 更好的使用 gitlab.
来源: http://blog.51cto.com/xiaozhagn/2122026