在 Mac 上搭建 GitLab 可以使用 Docker 来简化安装过程
一、安装详细步骤
1. 安装 Docker
如果你尚未安装 Docker,可以通过以下步骤安装:
- 下载并安装 Docker Desktop for Mac.
- 安装完成后,启动 Docker Desktop,确保 Docker 运行正常。
2. 拉取 GitLab Docker 镜像
GitLab 官方提供了 Docker 镜像,可以直接使用它来启动一个 GitLab 实例。
- 打开终端,运行以下命令来拉取 GitLab 的镜像:
docker pull gitlab/gitlab-ce
3. 启动 GitLab 容器
拉取镜像后,你可以使用以下命令启动 GitLab:
-
创建并启动一个 GitLab 容器:
docker run -d --hostname gitlab.local --name gitlab \-p 8080:80 -p 443:443 -p 22:22 \-v /srv/gitlab/config:/etc/gitlab \-v /srv/gitlab/logs:/var/log/gitlab \-v /srv/gitlab/data:/var/opt/gitlab \gitlab/gitlab-ce
解释:
--hostname gitlab.local
:为 GitLab 设置主机名。-p 8080:80
:将 GitLab 的 HTTP 服务暴露到 8080 端口。-p 443:443
:将 GitLab 的 HTTPS 服务暴露到 443 端口。-p 22:22
:将 GitLab 的 SSH 服务暴露到 22 端口。-v /srv/gitlab/...
:这些选项将 GitLab 配置、日志和数据存储映射到主机系统上的目录。
-
等待几分钟,GitLab 容器启动完成。
4. 访问 GitLab
- 打开浏览器,访问
http://localhost:8080
。 - 第一次访问时,你需要设置管理员账户的密码。
- 默认用户名是
root
,密码是你在首次访问时设置的密码。
- 默认用户名是
5. 配置 GitLab (可选)
你可以根据需要修改 GitLab 的配置,例如调整端口、域名等。这些配置文件通常位于 /srv/gitlab/config/gitlab.rb
。
6. 启动/停止 GitLab 服务
-
启动 GitLab 容器:
docker start gitlab
-
停止 GitLab 容器:
docker stop gitlab
7. 定期备份和恢复
为防止数据丢失,你可以定期备份 GitLab 数据:
- 备份命令:
docker exec -t gitlab gitlab-rake gitlab:backup:create
- 恢复命令:
docker exec -t gitlab gitlab-rake gitlab:backup:restore BACKUP=timestamp_of_backup
通过以上步骤,你就可以在 Mac 上成功搭建 GitLab 了。如果需要进一步配置或遇到问题,可以查看 GitLab 官方文档或在命令行中运行 gitlab-ctl
来进行更多管理操作。
二、如果root和密码对不上,可以重置密码
如果在查看日志时没有显示完整的管理员密码,可能是因为 GitLab 使用了初始密码生成的机制,它应该在首次启动时自动设置。如果没有显示在日志里,你可以尝试以下方法获取管理员密码:
1. 直接重置管理员密码
你可以通过以下方式进入容器并手动重置管理员密码。
1.1 进入 GitLab 容器
执行以下命令进入正在运行的 GitLab 容器:
docker exec -it gitlab /bin/bash
1.2 使用 GitLab Rails 控制台重置密码
进入容器后,执行以下命令启动 GitLab Rails 控制台:
gitlab-rails console
在控制台中,执行以下命令来重置管理员密码:
user = User.where(id: 1).first
user.password = 'your_new_password'
user.password_confirmation = 'your_new_password'
user.save!
将 'your_new_password'
替换为你想设置的新密码。
1.3 退出控制台
设置完成后,退出 Rails 控制台和容器:
exit
2. 尝试 GitLab 配置文件
如果你之前没有看到密码信息,可以尝试检查 /etc/gitlab/gitlab.rb
配置文件是否有关于初始密码的条目。如果有的话,你可以手动查看并更改它。
3. 重新启动容器
完成密码重置后,你可以重新启动容器以确保更改生效:
docker restart gitlab
然后再尝试登录到 GitLab Web UI (http://localhost:8080
),使用 root
和你设置的新密码进行登录。
希望这些步骤能帮你成功获取或重置密码!如果还有问题,请随时告诉我。