GitLab 安裝與使用

Loading

這邊討論一下 GitLab 的安裝 與 如何從 使用者端 (Client) 建立專案並上傳程式.

Server 端安裝 GitLab

測試環境 Ubuntu 22.04 Desktop ( 虛擬機 IP:192.168.31.136 )

想要在公司內部架設 GitHub 的相似軟體有很多選擇,目前看起來是 GitLab 是最多人在使用的.

不同作業系統的安裝方式可以參考官方網站 – https://about.gitlab.com/install/#ubuntu

安裝所需套件.

root@ben-virtual-machine:~# apt-get update
root@ben-virtual-machine:~# apt-get install -y curl openssh-server ca-certificates tzdata perl

安裝 Mail 系統.

root@ben-virtual-machine:~# apt-get install -y postfix

安裝 Postfix 過程中需選擇 configuration 選擇 ‘Internet Site’ 即可,並輸入 Mail 與 FQDN (我這邊是測試用就沒特別填寫).


加入 GitLab 套件的 repository 並且安裝相關套件.

root@ben-virtual-machine:~# curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash

Note :
如果是要使用 CE 版本,需下載.

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

其中的 EXTERNAL_URL 需使用你的 FQDN ( 可使用 http 或是 https ) 或是像我只是要玩一下就直接用 IP 即可. 版本我這邊是安裝 gitlab-ee ( Enterprise Edition ) 或是可以選擇 CE ( Community Edition ) 版本.

root@ben-virtual-machine:~# EXTERNAL_URL="http://192.168.31.136" apt-get install gitlab-ee

這樣就設定完成了, 打開網頁 http://192.168.31.136

設定好 GitLab 就可以使用 root (Administrator 管理者) 的身分登入.

預設管理者帳號: root
密碼: 存放在這邊 /etc/gitlab/initial_root_password , 須注意該檔案會在重新配置執行 (gitlab-ctl reconfigure ) 的 24 小時後自動刪除.

root@ben-virtual-machine:~# cat /etc/gitlab/initial_root_password

建議可以先把密碼設定到 /etc/gitlab/gitlab.rb 的 initial_root_password .

root@ben-virtual-machine:~# vi /etc/gitlab/gitlab.rb 
gitlab_rails['initial_root_password'] = '<my_strong_password>'

並透過 網頁管理介面建立新使用者,我這邊建立了一個 ben 使用者, 之後就可以使用該使用者並建立專案 Project 或是 Repository (預設權限為 Private ,需帳號密碼才能存取) , 或是透過 Rails Console 來建立使用者帳號.

root@ben-virtual-machine:~# gitlab-rails console
--------------------------------------------------------------------------------
 Ruby:         ruby 3.0.6p216 (2023-03-30 revision 23a532679b) [x86_64-linux]
 GitLab:       16.1.2-ee (0642e8c5c91) EE
 GitLab Shell: 14.23.0
 PostgreSQL:   13.11
------------------------------------------------------------[ booted in 39.40s ]
Loading production environment (Rails 6.1.7.2)
irb(main):001:0> u = User.new(username: 'ben', email: 'ben@benjr.com', name: 'ben', password: '2ertgds#', password_confirmation: '2ertgds#')
=> #<User id: @ben>
irb(main):002:0> u.skip_confirmation!
=> 2023-07-19 08:40:15.133285589 UTC
irb(main):003:0> u.save!
=> true
irb(main):004:0>
[1]+  Stopped                 gitlab-rails console

我們建立好專案後可以直接在網頁編輯程式碼,不過大多的經驗是會在測試端來寫程式碼,下面來看看在測試端要怎麼將程式上傳 (到 GitLab) 或是下載 (從 GitLab 到 Local).

Gitlab CI ( Continuous Integration 持續整合 )與 CD ( Continuous Delivery 持續交付 ) Runner
上傳到 GitLab 的程式有辦法自行進行測試嗎? 可以透過 CI/CD 的功能.

.gitlab-ci.yml 說明

Gitlab 常用功能

GitLab 資料匯入(回復)與備份

Gitlab 遇過的問題

沒有解決問題,試試搜尋本站其他內容

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料