Linux服务器中搭建Gitlab
Gitlab
由GitLab Inc.利用Ruby on Rails
开发的一个开源的版本管理系统,实现一个自托管的Git项目仓库,具有wiki
和issue
跟踪功能,可通过Web界面进行访问公开的或者私人项目。
Github地址:https://github.com/gitlabhq/gitlabhq
官方网站:https://gitlab.com/
官方文档:https://docs.gitlab.com/
Gitlab特点:
拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
Gitlab与其他DevOps工具的对比:https://about.gitlab.com/devops-tools/
1.可见性:保持流畅,不用等待同步,管理项目而不是工具,缩短周期时间
2.高效性:无需等待即可协作,同时工作,没有更多的交接
3.安全治理性:简化用户管理,加快审计,内置监控系统
Gitlab(Github)和Git区别
Git是版本控制系统
Github是在线的基于Git的代码托管服务
GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,可通过Web界面进行访问公开的或者私人项目
在Ubuntu服务器搭建Gitlab
前提:官方建议服务器至少4GB的可用内存
Linux其他发行版本的搭建可以参考官方安装文档:https://about.gitlab.com/install/
强烈推荐使用xshell远程连接linux服务器
1.更新软件源为最新版
sudo apt-get update
因为软件源更新之后再安装软件就能安装源中的最新版本
2..安装并配置必要的GitLab依赖
sudo apt-get install curl openssh-server ca-certificates postfix
,然后输入Y
继续
在安装
postfix
的时候,选择internet site
image.png
system mail name
填写服务器的公网IP
地址,有域名可以填域名
3.添加GitLab软件包存储库
添加GitLab包存储库
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
4.安装GitLab包
sudo apt-get install gitlab-ee
,这个步骤可能会慢些
5.修改GitLab的配置文件
注:GitLab默认会占用80、8080和9090端口,如果这些端口对你没影响可以忽略这一步
这一步将会修改GitLab的默认端口为11000
、11001
和11002
sudo vi /etc/gitlab/gitlab.rb
修改为external_url 'http://<你的服务器地址或域名>:11000'
external_url
是Gitlab的启动地址
将# unicorn['port'] = 8080
修改为unicorn['port'] = 11001
,
unicorn
是ruby
的http server
具体可以参考:https://blog.github.com/2009-10-09-unicorn/
将#prometheus['listen_address'] = 'localhost:9090'
修改为prometheus['listen_address'] = 'localhost:11002'
prometheus
是Gitlab
的监控系统,具体可以参考:https://about.gitlab.com/2017/01/05/prometheus-and-gitlab/
修改完保存退出
linux中一些操作tips:
修改:按i
进入修改状态
快速查找:先按ESC
退出修改状态,接着按/+关键字
可以进行关键字搜索,例如/user
就是查找包含user
关键字的字段,要继续查找此关键字,按字符 n
就可以继续查找了
保存:先按ESC
退出修改状态,接着按:w
保存。
退出:先按ESC
退出修改状态,接着按:q
退出
6.刷新配置
因为修改了配置,所以使用reconfigure
命令刷新配置
sudo gitlab-ctl reconfigure
注:服务器内存不足会发生这样的问题
7.启动/关闭GitLab
sudo gitlab-ctl start
sudo gitlab-ctl stop
可能遇到的问题
注:如果启动之后还是访问不到,可能是服务器端口没开放
需要在安全组的入方向规则中添加开放端口
8.查看Gitlab运行状态
gitlab-ctl status
Gitlab会自带nginx,PostgreSQL和redis
使用浏览器访问GitLab
在浏览器中输入:http://公网ip或者域名:Gitlab端口号/,即可访问GitLab的Web页面
首次访问GitLab,系统会让你重新设置管理员的密码,设置成功后会返回登录界面
默认的管理员账号是root,如果你想更改默认管理员账号,请输入上面设置的新密码登录系统后修改帐号名
设置密码password后,点击Change your password
会跳转到登录/注册页面
输入root
和刚刚设置的密码即可
至此,Linux服务器上搭建gitlab基本完成,更多的使用就参考官方文档吧
总的来说:
GitLab是第一个针对产品,开发,QA,安全和运营团队的DevOps生命周期的所有阶段构建的单一应用程序,可以在同一个项目上同时工作。GitLab使团队能够通过单个对话进行协作和工作,而不是跨不同的工具管理多个线程。GitLab在DevOps生命周期内为团队提供单一数据存储,一个用户界面和一个权限模型,允许团队进行协作,显着缩短周期时间,并专注于快速构建优秀软件。
英文看不懂可以参考下
Gitlab中文网:https://www.gitlab.com.cn/
Git中文网:http://www.git-scm.com.cn/