Gitlab-- 在MacOS上搭建本地环境

1,243 阅读3分钟

GitLab is The DevSecOps Platform

Gitlab 镜像下载

docker hub:hub.docker.com/r/gitlab/gi…

docker pull gitlab/gitlab-ce:latest

创建本地映射地址

创建GitLab 的配置 (etc) 日志 (log) 、数据 (data) 放到容器之外,容器启动后可以映射到本机,然后后续就可以直接在主机查看和编辑了,不用再进入容器操作,便于日后升级,通过以下方式准备三个目录。

docker volume create --name gitlab_config
docker volume create --name gitlab_logs
docker volume create --name gitlab_data

查看一下本地 volume:

docker volume ls

创建容器

docker run -d -p 10008:80 -p 10009:443 -p 10010:22 --restart always --name gitlab -v gitlab_config:/etc/gitlab -v gitlab_logs:/var/log/gitlab -v gitlab_data:/var/opt/gitlab --privileged=true gitlab/gitlab-ce:latest

访问界面

在浏览器输入: http://localhost:10008/, 给点时间哈,稍等一会,如果看到502,可以试下用:http://127.0.0.1:10008 来试下,很有可能会看到下面的登录页面哦

image.png

Root账户找回密码

方式一:

# 进入容器内部
docker exec -it gitlab /bin/bash

# 打开initial_root_password
vi /etc/gitlab/initial_root_password

image.png

方式二:重置这个root账户密码:

> $ docker exec -it gitlab bin/bash
root@21e3e3f798ae:/# gitlab-rake "gitlab:password:reset[root]"
Enter password: 
Confirm password: 
Password successfully updated for user with username root.
root@21e3e3f798ae:/# 

登录后开启Gitlab之旅...

image.png

偏好设置

像我这样英文不太好的,还是换成母语会好些哈...

image.png

拥有了Root权限,这里你最大,再也不需要找人去开个这个那个权限了,尽情的去挥霍吧!

停用注册限制

image.png

image.png

调整项目地址

其中e82831d30b10b9b1f863197fd51ff5f9d4902a90893e5e82b0a3219a3aa9d934为容器ID, 需要调整一下,才可以正常clone 及push image.png

设置方式如下:

# 进入容器内部
docker exec -it gitlab /bin/bash

# 修改gitlab.rb
vi /etc/gitlab/gitlab.rb
# 加入如下内容
# gitlab访问地址,可以写域名。如果端口不写的话默认为80端口
external_url 'http://192.168.1.106'
# ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '192.168.1.106'
# ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 10009

# 让配置生效
gitlab-ctl reconfigure

### 注意不要重启,/etc/gitlab/gitlab.rb文件的配置会映射到gitlab.yml这个文件,由于在docker中运行,在gitlab上生成的http地址应该是http://192.168.1.106:10008,所以,要修改下面文件

# 修改http和ssh配置
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

  gitlab:
    host: 192.168.1.106
    port: 10008
    https: false
# 重启
gitlab-ctl restart
# 退出容器
exit

以上设置完成后,你便可以看到不再是容器ID的地址了:

image.png

存在的问题

在docker 重启后,/opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml文件中的port会生重置为80. 因为这个gitlab.yml文件是由/etc/gitlab/gitlab.rb映射后生成的,默认端口为80,所以在执行gitlab-ctl reconfigure后会被重置为80.

项目地址为变为:http://192.168.1.106/gitlab-instance-5416b6eb/Monitoring.git, 端口号再次默认为80.

那怎么办呢??

GitLab默认的http访问端口号为80端口,如果想更改端口号,一般是通过docker run时设置端口映射,将80端口映射为其他端口如10008.

# 进入容器内部
docker exec -it gitlab /bin/bash
# 修改http和ssh配置
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
# 调整端口号为10008
# 重启
gitlab-ctl restart
# 退出容器
exit

接下来就能访问GitLab了,并且在checkout检出地址栏中,http地址端口号也正确了。

image.png

管理中心

去管理中心看看吧,之前没有权限,不能访问的功能现在用root 账户都可以去实践一下了...

群组/项目

去创建群组,添加点用户,再搞几个项目,这样可以愉快的玩耍了...

测试项目

image.png

参考文档

  1. dev.to/henriquehol…
  2. blinkfox.github.io/2018/11/22/…
  3. www.cnblogs.com/wei325/p/17…
  4. www.cnblogs.com/dy12138/p/1…
  5. cloud.tencent.com/developer/a…
  6. hellogithub2014.github.io/2019/06/06/…
  7. 从零搭建一个高性能的前端CI服务器