Windows下搭建gitlab
阿新 • • 發佈:2021-07-16
利用 WSL 搭建 gitlab docker 版本
部署用到的工具
- Windows Terminal: Windows 命令列神器
- WSL2: Windows子系統 Linux
- Docker:開源的應用容器引擎
- gitlab:程式碼管理工具
1. 安裝WSL2
1.開啟 "Windows Subsystem for Linux"
以管理員身份開啟 PowerShell,輸入如下命令,並重啟電腦:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
2.設定 WSL2 為預設
開啟 PowerShell,輸入如下命令:
wsl --set-default-version 2
3.安裝 Linux 發行版本
3.1 開啟 Microsoft Store , 搜尋 Linux,下載Ubuntu
3.2 安裝過程中,請設定使用者名稱
3.3 設定root密碼
輸入命令:sudo passwd root
4.Windows Terminal 安裝
1、開啟 Microsoft Store , 搜尋 Window Terminal,進行安裝.
2、安裝完成,開啟 Ubuntu 命令介面
5.docker 安裝
在 Windows Terminal Ubuntu 命令如下:
# 準備 sudo apt remove docker docker-engine docker.io sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo apt-key fingerprint 0EBFCD88 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt update # 安裝 sudo apt install docker-ce # 啟動 sudo service docker start
6.gitlab 安裝
在 Windows Terminal Ubuntu 命令如下:
# 拉取映象
sudo docker pull gitlab/gitlab-ce:latest
# 啟動,注意:localhost 換成宿主機 ip,user 換成自己使用者名稱
sudo docker run --detach --hostname localhost --publish 443:443 --publish 80:80 --publish 22:22 --name gitlab --volume /home/user/gitlab/config:/etc/gitlab --volume /home/user/gitlab/logs:/var/log/gitlab --volume /home/user/gitlab/data:/var/opt/gitlab -m 3g gitlab/gitlab-ce:latest
7.Window 與 Linux 網路打通
以管理員身份開啟 PowerShell
# ip 為 Linux ip,請替換
netsh interface portproxy add v4tov4 listenport=80 listenaddress=0.0.0.0 connectport=80 connectaddress=ip
8.重置Docker裡的gitlab管理員使用者密碼
8.1.docker ps 找出容器的唯一標識
sudo docker ps
user@DESKTOP-KSERHIV:/mnt/c/Users/XXX$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
f47918ecd153 gitlab/gitlab-ce:latest "/assets/wrapper" 21 minutes ago Up 21 minutes (healthy) 0.0.0.0:22->22/tcp, :::22->22/tcp, 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp gitlab
8.2 docker exec -it f47918ecd153 /bin/bash
進入Docker容器執行環境
8.3 開始重置gitlab管理員使用者密碼
root@192:/# gitlab-rails console -e production
--------------------------------------------------------------------------------
Ruby: ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]
GitLab: 14.0.5 (25fc1060aff) FOSS
GitLab Shell: 13.19.0
PostgreSQL: 12.6
--------------------------------------------------------------------------------
Loading production environment (Rails 6.1.3.2)
irb(main):001:0> user=User.where(id:1).first
=> #<User id:1 @root>
irb(main):002:0> user.password='123456'
=> "123456"
irb(main):003:0> user.password_confirmation='123456'
=> "123456"
irb(main):004:0> user.save!
Enqueued ActionMailer::MailDeliveryJob (Job ID: 89e9421a-8a23-4789-8833-d063410200cc) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", {:args=>[#<GlobalID:0x00007f5e32c89168 @uri=#<URI::GID gid://gitlab/User/1>>]}
=> true
irb(main):005:0> exit
重要的是,您必須同時更改密碼和password_confirmation才能使其正常工作,別忘了儲存更改
8.4 至此,管理員使用者名稱重置完畢,重置後的密碼為123456
9.訪問 gitlab
最後,您可以在 Windows ,通過 http://ip
,訪問 gitlab