gitlab(docker)安装及使用

本文详细介绍了如何使用Docker下载和安装GitLab社区版,包括搜索镜像、启动安装容器、配置GitLab环境、设置用户、优化内存占用以及解决IDEA连接GitLab的问题。
摘要由CSDN通过智能技术生成

GitLab

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。

下载(docker)

查询docker镜像gitlab-ce

gitlab-ce是它的社区版

[root@localhost ~]# docker search gitlab-ce
NAME                                     DESCRIPTION                                      STARS     OFFICIAL   AUTOMATED
rapidfort/gitlab-ce                                                                       12                   
drud/gitlab-ce                                                                            18                   
gitlab/gitlab-ce                         GitLab Community Edition docker image based …   4043                 [OK]

下载镜像

下载镜像gitlab/gitlab-ce

latest: Pulling from gitlab/gitlab-ce
7b1a6ab2e44d: Pull complete 
6c37b8f20a77: Pull complete 
f50912690f18: Pull complete 
bb6bfd78fa06: Pull complete 
2c03ae575fcd: Pull complete 
839c111a7d43: Pull complete 
4989fee924bc: Pull complete 
666a7fb30a46: Downloading [=================================>                 ]  662.1MB/995.5MB
image-20231028102116989

启动安装docker容器

创建gitlab文件夹

[root@localhost softwares]# mkdir gitlab
[root@localhost softwares]# ll
总用量 0
drwxr-xr-x. 2 root root   6 1028 10:24 gitlab
drwxr-xr-x. 3 root root  60 923 23:41 jdk
drwxr-xr-x. 4 root root  30 924 23:44 mysql
drwxr-xr-x. 5 root root 109 924 17:44 nexus
drwxr-xr-x. 4 root root  42 1022 22:17 redis
[root@localhost softwares]# pwd
/usr/local/softwares

创建config,logs,data文件夹

[root@localhost gitlab]# mkdir config logs data
[root@localhost gitlab]# tree
.
├── config
├── data
└── logs

创建运行容器

docker run -it \
--hostname wnhz-gitlab.com \
--name gitlab \
-p 443:443 -p 80:80 -p 23:22 \
--network wn_docker_net \
--ip 172.18.12.50 \
-v /usr/local/softwares/gitlab/config:/etc/gitlab \
-v /usr/local/softwares/gitlab/logs:/var/log/gitlab \
-v /usr/local/softwares/gitlab/data:/var/opt/gitlab \
-d gitlab/gitlab-ce
[root@localhost gitlab]# docker ps
CONTAINER ID   IMAGE              COMMAND                   CREATED         STATUS                            PORTS                                                                                                         NAMES
cf0f38c6f0a4   gitlab/gitlab-ce   "/assets/wrapper"         4 seconds ago   Up 3 seconds (health: starting)   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp, 0.0.0.0:23->22/tcp, :::23->22/tcp   gitlab

image-20231028103727630

gitlab配置

访问http://192.168.198.128/ linux主机地址

image-20231028104240900

设置用户名密码

命令行:docker exec -it gitlab bash 进入容器

输入命令行 gitlab-rails console
[root@localhost gitlab]# docker exec -it gitlab bash
root@cf0f38c6f0a4:/# gitlab-rails console
image-20231028104800393
输入用户名密码存储

user=User.find_by_username ‘root’

user.password=‘88888888’

user.save!

Loading production environment (Rails 6.1.4.1)
irb(main):001:0> user=User.find_by_username 'root'
=> #<User id:1 @root>
irb(main):004:0> user.password='88888888'
=> "88888888"
irb(main):005:0> user.save!
=> true

登录

使用设置的用户名,密码登录

image-20231028110300882

image-20231028110418263

Gitlab设置

关闭自动注册功能

  1. Menu->Admin
image-20231028110734926
  1. Settings->Geneal->Sign-up restrictions

    image-20231028111304075

  2. 禁止注册

image-20231028111514129

创建用户User

在Admin下点击Admin Area --> Users

image-20231028160521926

创建用户: New user

image-20231028160645382

编辑用户信息

image-20231028171010878

image-20231028171043766

给指定用户添加密码

image-20231028171126165

image-20231028170724153

image-20231028171205774

image-20231028171258374

使用新用户登录

image-20231028171357621

第一次登录强制要求修改密码

image-20231028171457184

image-20231028171518117

修改个人信息

image-20231028171733142 image-20231028172221046

优化gitlab占用内存

进入gitlab容器

使用root用户登录

 docker exec -it gitlab bash
进入etc/gitlab文件夹

image-20231108115030399

修改gitlab.rb文件

tips: 如果容器中不能使用vim命令,使用 apt-get update , apt-get install vim安装

  • gitlab_rails[‘env’]

     597 gitlab_rails['env'] = {
     598    'MALLOC_CONF' => 'dirty_decay_ms:1000,muzzy_decay_ms:1000'
     599 #    "SKIP" => "db,uploads,repositories,builds,artifacts,lfs,registry,pages"
     600 }
    

    image-20231108115801248

  • [‘worker_processes’]

    禁用 puma cluster 模式

     974 puma['worker_timeout'] = 60
     975 puma['worker_processes'] = 0
    

    image-20231108115851491

  • sidekiq

    1018 sidekiq['max_concurrency'] = 10
    

    image-20231108115630520

重启容器
  1. 配置生效

在容器中输入: gitlab-ctl reconfigure

root@192:/etc/gitlab# gitlab-ctl reconfigure
  1. 重启容器

在容器内输入:gitlab-ctl restart 重启容器。

root@192:/etc/gitlab# gitlab-ctl restart
查询gitlab的内存占用

docker stats gitlab

image-20231108120431441

idea使用gitlab

在gitLab上创建仓库

image-20231028231136138

image-20231028234700741

image-20231028232818889

idea使用gitlab错误

error: unable to read askpass response from ‘C:\Users\Administrator\AppData\Local\JetBrains\IntelliJIdea2021.3\tmp\intellij-git-askpass-local.sh’

image-20231109082705147

解决方案: 修改项目隐藏.git下的config文件,添加gitlab用户名密码

image-20231109082845238

image-20231109082953642

rom ‘C:\Users\Administrator\AppData\Local\JetBrains\IntelliJIdea2021.3\tmp\intellij-git-askpass-local.sh’

[外链图片转存中…(img-T4YqWwcg-1713174221296)]

解决方案: 修改项目隐藏.git下的config文件,添加gitlab用户名密码

[外链图片转存中…(img-j8DfMdIM-1713174221296)]

[外链图片转存中…(img-26rFhQvk-1713174221296)]

  • 8
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是 GitLab Docker安装步骤: 1. 确保已安装 DockerDocker Compose,可以在命令行输入以下命令进行检查: ``` docker --version docker-compose --version ``` 2. 创建 GitLab 相关目录和配置文件。在命令行中输入以下命令: ``` sudo mkdir -p /srv/gitlab/config /srv/gitlab/data /srv/gitlab/logs sudo touch /srv/gitlab/docker-compose.yml /srv/gitlab/config/gitlab.rb ``` 3. 在 `docker-compose.yml` 文件中添加以下内容: ``` version: '3' services: web: image: 'gitlab/gitlab-ce:latest' restart: always hostname: 'gitlab.example.com' environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://gitlab.example.com' gitlab_rails['gitlab_shell_ssh_port'] = 22 gitlab_rails['lfs_enabled'] = true gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.gmail.com" gitlab_rails['smtp_port'] = 587 gitlab_rails['smtp_user_name'] = "your.email@gmail.com" gitlab_rails['smtp_password'] = "your-email-password" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = false ports: - '80:80' - '443:443' - '22:22' volumes: - '/srv/gitlab/config:/etc/gitlab' - '/srv/gitlab/logs:/var/log/gitlab' - '/srv/gitlab/data:/var/opt/gitlab' ``` 其中,`hostname` 是你 GitLab 访问地址,`external_url` 是你 GitLab 的访问 URL,需要根据实际情况进行修改。 4. 在 `gitlab.rb` 文件中添加以下内容: ``` gitlab_rails['smtp_address'] = "smtp.gmail.com" gitlab_rails['smtp_port'] = 587 gitlab_rails['smtp_user_name'] = "your.email@gmail.com" gitlab_rails['smtp_password'] = "your-email-password" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = false ``` 其中,`smtp_address` 和 `smtp_port` 是 SMTP 服务器的地址和端口号,`smtp_user_name` 和 `smtp_password` 是发送邮件所用的邮箱地址和密码,需要根据实际情况进行修改。 5. 在命令行中切换到 `docker-compose.yml` 所在目录,运行以下命令启动 GitLab: ``` sudo docker-compose up -d ``` 6. 执行完上述命令后,GitLab 即可在本地运行,可以通过访问 `http://gitlab.example.com` 进行访问,账号为默认 `root`,密码见命令行输出日志。 希望以上步骤可以帮到您,如有问题或疑问可以随时向我提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值