当前位置: 首页 > news >正文

K8S学习之基础五十九:部署gitlab服务

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


http://www.mrgr.cn/news/96209.html

相关文章:

  • 《Python实战进阶》No34:卷积神经网络(CNN)图像分类实战
  • LangChain4j与DashScope深度集成实战:一站式开发指南
  • Vue 中使用 ECharts
  • 【C++游戏引擎开发】第1周《线性代数》(2):矩阵加减法与SIMD集成
  • github使用
  • JavaScript时间戳的使用
  • FFmpeg —— 实时绘制音频波形图(附源码)
  • OpenCV正确安装及环境变量配置
  • python并发爬虫
  • 元能力的养成
  • java同时使用两个不同版本的jar包,基于maven-shade-plugin,非自定义类加载器方法
  • 知识表示方法之二:产生式表示法(Production System)
  • 鸿蒙UI开发
  • 记录一次渗透测试/常用命令
  • MybatisPlus(SpringBoot版)学习第六讲:插件(分页插件乐观锁)
  • 解决 FFmpeg 使用 C/C++ 接口时,解码没有 shell 快的问题(使用多线程)
  • SpringBoot整合Easy-Es
  • Java-面向对象-多态和抽象类
  • 【进阶】vscode 中使用 cmake 编译调试 C++ 工程
  • NDK CMake工程中引入其他C++三方库