Day 64 应用工具_GitLab
GitLab
GitLab 基本介绍
GitLab 是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面进行访问公开的或者私人项目。
与 Github 类似,GitLab 能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。
它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
常用的网站:
官网:https://about.gitlab.com/
国内镜像:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/
Gitlab 安装
获取安装包:可以到清华镜像站下载安装包,wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.6-ce.0.el7.x86_64.rpm
yum install curl policycoreutils openssh-server openssh-clients policycoreutils-python –y
rpm -ivh gitlab-ce-10.0.6-ce.0.el7.x86_64.rpm
配置 GitLab
GitLab 的默认配置文件为于:/etc/gitlab/gitlab.rb,修改下图所示的 external_url 为本机 IP 地址或者一个可以访问到本机的域名。
重新配置 gitlab 并启动
gitlab-ctl reconfigure
gitlab-ctl restart
在浏览器地址里输入:http://10.0.0.11,出现如图所示页面:首次登录要求我们重新
设置 root 用户的密码:
GitLab 服务构成
查看服务状态:gitlab-ctl status
GitLab 由主要由以下服务构成,他们共同承担了 Gitlab 的运作需要
Nginx:静态 web 服务器。
gitlab-shell:用于处理 Git 命令和修改 authorized keys 列表。
gitlab-workhorse: 轻量级的反向代理服务器。
logrotate:日志文件管理工具。
postgresql:数据库。
redis:缓存数据库。
sidekiq:用于在后台执行队列任务(异步执行)。
unicorn:An HTTP server for Rack applications,GitLab Rails 应用是托管在这个服务器上面的。
GitLab 工作流程
GitLab 常用命令
# 启动所有 gitlab 组件: gitlab-ctl start # 停止所有 gitlab 组件: gitlab-ctl stop # 停止 postgresql 组件: gitlab-ctl stop postgresql # 停止相关数据连接服务 gitlab-ctl stop unicorn gitlab-ctl stop sidekiq # 重启所有 gitlab 组件: gitlab-ctl restart # 重启 gitlab-workhorse 组件: gitlab-ctl restart gitlab-workhorse # 查看服务状态 gitlab-ctl status # 如果更改了主配置文件 [gitlab.rb 文件],使配置文件生效 但是会初始化除了 gitlab.rb 之外的所有文件 sudo gitlab-ctl reconfigure # 查看日志 sudo gitlab-ctl tail # 检查 redis 的日志 sudo gitlab-ctl tail redis
GitLab 主要目录
/var/opt/gitlab/git-data/repositories/ # 库默认存储目录 /opt/gitlab # 应用代码和相应的依赖程序 /var/opt/gitlab # gitlab-ctl reconfigure 命令编译后的应用数据和配置文件,不需要人为修改配置 /etc/gitlab # 配置文件目录 /var/log/gitlab # 此目录下存放了 gitlab 各个组件产生的日志 /var/opt/gitlab/backups/ # 备份文件生成的目录
GitLab 关闭用户注册
我们 Gitlab 系统是企业内部私有代码仓库,所有用户都是由管理员创建,并不需要注册功能,因此我们需要关闭此功能。
登录界面的定制化
设置
效果