Docker安装Gitlab

初步安装

docker命令

# 安装
docker run -d -p 8443:443 -p 80:80 -p 8022:22 --restart always --name gitlab \
-v /data/docker/gitlab/etc:/etc/gitlab \
-v /data/docker/gitlab/log:/var/log/gitlab \
-v /data/docker/gitlab/data:/var/opt/gitlab \
--privileged=true gitlab/gitlab-ce

# 进入容器内部
docker exec -it gitlab /bin/bash

# 进入控制台
gitlab-rails console -e production

# 查询id为1的用户,id为1的用户是超级管理员
user = User.where(id:1).first
# 修改密码为Test10101
user.password='Test10101'
# 保存
user.save!
# 退出
exit

# 容器内重启git
gitlab-ctl reconfigure

# 外部重启git
docker restart gitlab

IP和域名端口等配置更新

  • /etc/gitlab/gitlab.rb
# 编辑配置
vi /etc/gitlab/gitlab.rb

# 以下配置不可以加端口,加了就无法访问
external_url 'http://127.0.0.1'

# 修改ssh的端口-宿主机的端口
gitlab_rails['gitlab_shell_ssh_port'] = 8022

#ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '127.0.0.1'

# 让配置生效
gitlab-ctl reconfigure
  • 疑似是可以在上面加端口后进行访问的办法
# 修改http和ssh配置
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

  gitlab:
    host: 127.0.0.1
    port: 9980 # 这里改为9980
    https: false

配置

邮件配置

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "XXXXXX@qq.com"
gitlab_rails['smtp_password'] = "邮箱码"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_pool'] = false


gitlab_rails['smtp_openssl_verify_mode'] = 'none'   # 此处去掉注释,默认none即可
  • 然后再搜索gitlab_email_from,找到如下位置,设置发件人信息,然后保存退出
### Email Settings
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'XXXXXX@qq.com'   ## 发件邮箱
gitlab_rails['gitlab_email_display_name'] = 'git server'  ## 显示名字

CICD 额外邮件推送

  • 管理员->设置->集成->流水线状态电子邮件

处理gitlab磁盘IO 100%!

进入配置文件gitlab.rb中进行修改

unicorn['worker_timeout'] = 60
unicorn['worker_processes'] = 2
unicorn['worker_memory_limit_min'] = "100 * 1 << 20"
unicorn['worker_memory_limit_max'] = "250 * 1 << 20"
sidekiq['concurrency'] = 8
postgresql['shared_buffers'] = "128MB"
postgresql['max_worker_processes'] = 4
prometheus['enable'] = false

重启gitlab

进入容器并将数据备份

//进入容器
docker exec -it gitlab /bin/bash
//进入目录
cd /var/opt/gitlab/backups
// 生成数据备份文件,生成的文件是.tar文件,类似1598965868_2024_10_29_13.3.2_gitlab_backup.tar
gitlab-rake gitlab:backup:create
// 上面的备份命令并不会把配置额文件一起备份,需要我们手动的将配置文件给保存下来
// 进入/etc/gitlab,找到以下文件
gitlab.rb
gitlab-secrets.json
// 其实可以退出到宿主机,然后找到其映射文件目录里面再继续找到这两个文件,并将其进行备份,也可以使用docker cp命令将需要备份的文件给保存起来

//数据备份完成后要不要把当前容器给停止了,就看你的选择了

CI/CD

  • 所在电脑必须安装git和Runner

查看项目project id

方法一:直接get请求

查询指定项目:https://gitlab.com/api/v4/projects?private_token=xxxx&search=projectname
查询完整列表:https://gitlab.com/api/v4/projects?per_page=500&private_token=xxxx
private_token来源:个人账号-Profile Settings-account,页面最上方就是private token。

方法二(最快捷):

进入目标项目页面-显示网页源代码,直接搜索:project_id。

安装 GitLab Runner

Runner

Git

注册

gitlab-runner.exe register --url http://192.168.0.189:8090 --token glrt-t3_yW1QqVQKXhd79X5wB9qY

直接启动

gitlab-runner.exe run

注册为服务

gitlab-runner.exe install
gitlab-runner.exe start

版权声明:
作者:亦灵一梦
链接:https://blog.haokaikai.cn/2024/weihu/linux/1205.html
来源:开心博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
海报
Docker安装Gitlab
初步安装 docker命令 # 安装 docker run -d -p 8443:443 -p 80:80 -p 8022:22 --restart always --name gitlab \ -v /data/docker/gitlab/etc:/etc/gitlab \ -……
<<上一篇
下一篇>>
文章目录
关闭
目 录