Mac 上快速部署gitlab-ce
官网对gitlab-ce(社区版)有详细的介绍和各种安装方法,这里只讲到如何利用 Docker 来快速安装 gitlab-ce并部署在局域网
1.安装 Docker
安装完 docker 后会发现有命令行模式(Terminal)和 GUI模式(Kitematic),想挑战命令行模式的同学可以参考此教程
2.创建gitlab-ce
打开 Kitematic,注册登录搜索 gitlab,gitlab-ce出现在第一个,点击 CREATE。细心的同学会发现其实在搜索结果里面有一个 gitlab-ce-zh(汉化的 Gitlab社区版 Docker Image),这里看个人选择了,我装的是官方出的英文版
CREATE之后开始下载资源,时间可能有点长
下载完了之后大概就是这个样子:
第一次打开会 后让你重置密码,然后登录,用户名是 root。
这个时候只能本机访问 gitlab,局域网内的机器访问的话需要端口映射。http://192.168.99.100:32769这个地址是 docker 虚拟的
3.安装VirtualBox
打开VirtualBox后你会发现有一个 default ,其实就是 docker 生成的
设置-->网络-->展开高级-->端口转发--> + 新增,增加一条
设置 IP 和端口号:主机 IP 是设的当前电脑的内网 IP,主机端口自定义,只要别出现和其他的应用端口号冲突就行,子系统端口就是 docker 虚拟的那个端口号
这里需要注意的一点:32769 端口号要双击再保存下,要不然下次重新 START 就变了
现在可以在内网任何一台机器用新的地址http://192.168.0.130:8087/users/sign_in 来登录 gitlab 了
4.配置gitlab.rb
如果这个时候有已经新建了项目的同学,会发现你项目的地址是乱码的,并不是下面这个样子,因为还没有修改配置文件(这里的中文显示是在Settings里面改的)。
先简单介绍下vi/vim 的使用,后面会用到。详细的命令大全请看这里,下面列举几条常用命令
输入模式:
在命令模式下按下i、I、a、A、o、O、r和R中的某一个键就进入了输入模式。
在输入模式中,可以使用以下按键:
字符按键以及Shift组合,输入字符
ENTER,回车键,换行
BACK SPACE,退格键,删除光标前一个字符
DEL,删除键,删除光标后一个字符
方向键,在文本中移动光标
HOME/END,移动光标到行首/行尾
Page Up/Page Down,上/下翻页
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
ESC,退出输入模式,切换到命令模式vim的保存文件和退出命令:
:w —— 保存编辑后的文件内容,但不退出vim编辑器。这个命令的作用是把内存缓冲区中的数据写到启动vim时指定的文件中。
:w! —— 强制写文件,即强制覆盖原有文件。如果原有文件的访问权限不允许写入文件,例如,原有的文件为只读文件,则可使用这个命令强制写入。但是,这种命令用法仅当用户是文件的属主时才适用,而超级用户则不受此限制。
:wq —— 保存文件内容后退出vim编辑器。这个命令的作用是把内存缓冲区中的数据写到启动vim时指定的文件中,然后退出vim编辑器。另外一种替代的方法是用ZZ命令。
:wq! —— 强制保存文件内容后退出vim编辑器。这个命令的作用是把内存缓冲区中的数据强制写到启动vim时指定的文件中,然后退出vim编辑器。
ZZ —— 使用ZZ命令时,如果文件已经做过编辑处理,则把内存缓冲区中的数据写到启动vim时指定的文件中,然后退出vim编辑器。否则只是退出vim而已。注意,ZZ命令前面无需加冒号“:”,也无需按Enter键。
:q —— 在未做任何编辑处理而准备退出vim时,可以使用此命令。如果已做过编辑处理,则vim不允许用户使用“:q”命令退出,同时还会输出下列警告信息:No write since last change (:quit! overrides)
:q! —— 强制退出vim编辑器,放弃编辑处理的结果。如果确实不需要保存修改后的文件内容,可输入“:q!”命令,强行退出vim编辑器。
配置文件在哪里呢,其实很好找:
- 一种方法是点击左上角的 EXEC 会打开终端,
ls
到/etc/gitlab
目录下执行vim gitlab.rb
//找到 external_url 去掉前面的 # ,改为当前机器的内网 IP,
external_url 'http://192.168.0.130'
//这个地址后面应该是有前面用VirtualBox设置的端口号的,但是因为加了端口号后 docker 开启 gitlab-ce 会报错,所以去掉了
- 第二种是点击 /etc/gitlab 出现弹窗点 Enable Volumes ,打开 gitlab.rb,最好用开发工具打开,不要用文本编辑。但是非常不建议使用这种方式,会出现意想不到的问题。
修改的时候找到你的修改项去掉前面的 # 再修改保存
找到 external_url 改为当前机器的内网 IP:
external_url 'http://192.168.0.130'
这个地址后面应该是有前面用VirtualBox设置的端口号的,但是因为加了端口号后 docker 开启 gitlab-ce 会报错,所以去掉了
创建项目成功之后clone的时候需要在http链接中的IP地址后面加上用VirtualBox设置的端口号,例如:
http://192.168.0.130/root/introduce.git
使用的时候应改为:
http://192.168.0.130:8087/root/introduce.git
5.最后
放一个 Admin Area 界面
- 关于开启邮件服务,试了几次不怎么好使,就没用它。管理员可以开启sign up功能让用户自己注册;也可以自己New user然后再Edit修改密码
- 关于 SSH 协议,看了网上的教程改了几次 gitlab.rb没成功😔,准备再试试