1. 程式人生 > 其它 >Windows下搭建gitlab

Windows下搭建gitlab

利用 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

10.相關連結:

https://www.cnblogs.com/zhang-yawei/p/12692493.html

https://www.jianshu.com/p/1dc7d1626145