部署gitlab
docker pull gitlab/gitlab-ce:latest
docker tag gitlab/gitlab-ce:latest 172.16.80.140/gitlab/gitlab-ce:latest
docker push 172.16.80.140/gitlab/gitlab-ce:latest
docker run -d -p 443:443 -p 80:80 -p 222:22 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab 172.16.80.140/gitlab/gitlab-ce:latest
修改參數,在/home/gitlab/config/gitlab.rb配置文件后增加三行
external_url 'http://172.16.80.133'
gitlab_rails['gitlab_ssh_host'] = '172.16.80.133'
gitlab_rails['gitlab_shell_ssh_port'] = 222
重啟容器
docker restart gitlab
瀏覽器查看80端口
一直提示502,應該是加載比較慢,ds以下說是內存要8G以上才行
增加虛擬機內存,重啟docker,到登錄界面
默認賬戶root,密碼在程序配置文件中,可通過以下方式獲取
但嘗試使用root和密碼登錄,一直提示無法登錄,通過ds,在gitlab控制臺發現沒有root賬戶,要手工創建,關聯namaspace
gitlab-rails console
irb(main):008:0> user = User.find_by(username: 'root')
=> nil
irb(main):004:1* user = User.new(
irb(main):005:1* username: 'root',
irb(main):006:1* email: 'admin@example.com', # 替換為你的真實郵箱
irb(main):007:1* name: 'Administrator',
irb(main):008:1* password: 'YourSecurePass123!', # 密碼需包含大小寫字母、數字和符號
irb(main):009:1* password_confirmation: 'YourSecurePass123!',
irb(main):010:1* admin: true
irb(main):011:0> )
=> #<User id: @root>
irb(main):032:1* org = Organizations::Organization.create!(
irb(main):033:1* name: 'Default Organization',
irb(main):034:1* path: 'default-org' # 必須包含2個以上字符,只允許字母、數字、_和-,不能以-開頭
irb(main):035:0> )
=>
#<Organizations::Organization:0x00007f98468d2580
irb(main):036:1* begin
irb(main):037:2* org = Organizations::Organization.find_or_create_by!(
irb(main):038:2* name: 'Default Organization',
irb(main):039:2* path: 'default-org'
irb(main):040:1* )
irb(main):041:1* rescue ActiveRecord::RecordInvalid => e
irb(main):042:1*
irb(main):043:1*
irb(main):044:1*
irb(main):045:1* rescue ActiveRecord::RecordInvalid => e
irb(main):046:1* puts "組織創建失敗: #{e.message}"
irb(main):047:1* org = Organizations::Organization.first || raise("沒有可用的組織")
irb(main):048:0> end
=>
#<Organizations::Organization:0x00007f984633bb80id: 1000,created_at: Fri, 28 Mar 2025 03:16:38.065510000 UTC +00:00,updated_at: Fri, 28 Mar 2025 03:16:38.065510000 UTC +00:00,name: "Default Organization",path: "default-org",visibility_level: 0>
irb(main):049:0>
irb(main):050:1* user = User.new(
irb(main):051:1* username: 'root',
irb(main):052:1* email: 'admin@example.com',
irb(main):053:1* name: 'Administrator',
irb(main):054:1* password: 'YourSecurePass123!',
irb(main):055:1* password_confirmation: 'YourSecurePass123!',
irb(main):056:1* admin: true
irb(main):057:0> )
=> #<User id: @root>
irb(main):058:1* namespace = Namespace.new(
irb(main):059:1* name: 'root',
irb(main):060:1* path: 'root',
irb(main):061:1* owner: user,
irb(main):062:1* visibility_level: 20,
irb(main):063:1* organization: org
irb(main):064:0> )
=> #<Namespaces::UserNamespace id: @root>
irb(main):065:0>
irb(main):066:0> user.namespace = namespace
=> #<Namespaces::UserNamespace id: @root>
irb(main):067:1* if user.save!
irb(main):068:1* puts "? Root用戶創建成功!"
irb(main):069:1* else
irb(main):070:1* puts "? 錯誤:#{user.errors.full_messages}"
irb(main):071:0> end
? Root用戶創建成功!
=> nil
irb(main):072:0> user = User.find_by(username: 'root')
=> #<User id:1 @root>
用 root/YourSecurePass123!登錄gitlab
在jenkins插件管理中,安裝git插件,完畢后選擇重啟jenkins
在jenkins為gitlab添加憑據
在gitlab中新建項目
在giblib服務器上創建秘鑰對
cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDXTAR2mYVWz6I28l+uM9ZTwWcWlyOnQ6eGtjAz00RIvHolKXBaeNMeQ56jKZD4otvI/VyhgOj1W8bRcF/2fFlSHpt2CVEeREhvwKMDcM4xUicMxAY0O/LZ6Ar6DvlxHuLMYsQXi8YRxpqTOIFa0cvTNicrPQVAjXjbsCer7gLsyL1Y9NvxMe4xT+vAB6G+TP1Q3vGIpDomBCZ8++Td7wQe2Rph4PL0kX2sEC4MqT+nfmtnpNu0ClBdTHevA77qSwkVFOpUyXGgNyqHioDUasFMy1fPK0SrDlbzn99J2b03tLvkCgfa/mX8391jMTG09zxXdMIUAIHH/Gy0PKxn4tt7 root@node02