因为后边想自己搞一搞CI/CD等前端工程化啥的,所以先摸索了一下本地gitlab的搭建过程,以下是心路历程😁
一、下载镜像
-
docker客户端下载 www.docker.com/products/do…
根据自己使用的机器类型选择对应的安装包下载,并按照相应步骤安装(此处省略)
-
镜像
- gitlab分为gitlab-ce(社区版)、gitlab-ee(企业版,收费),个人使用gitlab-ce足矣
- 由于我当前使用的Mac的处理器是M1,所以需要下载arm64/v8的镜像,否则使用默认下载的镜像会出现异常提示:WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested,所以此文中的镜像选择:yrzr/gitlab-ce-arm64v8
- 在官方网站搜索对应镜像:https://hub.docker.com
- 使用终端工具搜索对应镜像
docker search yrzr/gitlab-ce-arm64v8- 无论什么方式查找镜像,最终也需要拉取镜像,在终端中输入命令行:
docker pull yrzr/gitlab-ce-arm64v8:latest
二、启动容器
docker run --detach \
--restart always \
--name gitlab-ce \
--privileged \
--memory 4096M \
--publish 9922:22 \
--publish 9980:80 \
-u root \
--env GITLAB_ROOT_PASSWORD="Abc123456789" \
--volume /Users/tom/gitlab-ce/etc:/etc/gitlab:z \
--volume /Users/tom/gitlab-ce/log:/var/log/gitlab:z \
--volume /Users/tom/gitlab-ce/opt:/var/opt/gitlab:z \
yrzr/gitlab-ce-arm64v8:latest
注意:容器映射到宿主机的目录的路径下一定要加上/etc、/log、/opt,不然创建出来的gitlab文件会出现问题
| 参数 | 描述 |
|---|---|
| --detach | 让Docker容器在后台运行,并返回容器ID |
| --restart always | 设置容器的重启策略为“总是重启” |
| --name gitlab-ce | 为容器指定一个名称,这里是gitlab-ce |
| --privileged | 给予容器额外的权限 |
| --memory 4096M | 限制容器可以使用的内存为4096MB(4GB) |
| --publish 9922:22 | 9922:22表示将容器的22端口(SSH)映射到宿主机的9922端口 |
| --publish 9980:80 | 9980:80表示将容器的80端口(HTTP)映射到宿主机的9980端口 |
| -u root | 以root用户的身份运行容器 |
| --env GITLAB_ROOT_PASSWORD | 设置环境变量GITLAB_ROOT_PASSWORD的值,这里设置为Abc123456789。这是GitLab root用户的初始密码,容器启动时会自动应用这个密码 |
| --volume | 将容器中的目录映射到宿主机的目录 |
三、修改配置
-
配置ssh访问
// 进入容器 docker exec -it gitlab-ce /bin/bash // 修改gitlab.rb vi /etc/gitlab/gitlab.rb在当前文件的底部添加如下:
# gitlab地址,端口默认为80端口 external_url 'http://10.1.1.23' # ssh主机ip gitlab_rails['gitlab_ssh_host'] = '10.1.1.23' # ssh连接端口 gitlab_rails['gitlab_shell_ssh_port'] = 9922配置项 描述 external_url 配置项用于指定 GitLab 实例的外部访问 URL。这个 URL 是用户通过浏览器访问 GitLab 实例时所使用的地址 gitlab_rails['gitlab_ssh_host'] 配置项用于指定用于 SSH 访问的 GitLab 实例的主机名 gitlab_rails['gitlab_ssh_port'] 配置项用于指定用于 SSH 访问的 GitLab 实例的端口 -
配置线上服务器主机配置(如果没有则不需要修改)
// 修改http和ssh配置 vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml在当前文件的production配置处,修改host、port为服务器IP或域名及端口号
-
重启服务
// 修改成功后重启 gitlab-ctl restart // 退出容器 exit
四、浏览器访问
- 浏览器访问:http://localhost:9980 或http://10.1.1.23:9980
- 使用启动命令中的账户:root,密码:Abc123456789,既可以登录
至此,本地启动gitlab的简单流程就结束了,赶快去试试吧!