部署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