GitLab私有化部署

前置条件

  1. 一台云服务器
  2. 云服务器上已安装Docker
  3. 了解Docker基础

使用Docker安装GitLab

参考官网安装

  • 设置环境变量$GITLAB_HOME

    • Linux:export GITLAB_HOME=/srv/gitlab
    • macOS:export GITLAB_HOME=$HOME/gitlab
  • 创建docker-compose.yml文件

    • 修改http端口需要同步修改external_url
    • 修改ssh端口需要同步修改gitlab_rails[‘gitlab_shell_ssh_port’]
    • volumes:容器数据的持久化存储,强烈推荐。除非你希望重启容器就将Gitlab重置
version: '3.6'
services:
  web:
    image: 'registry.gitlab.cn/omnibus/gitlab-jh:latest'
    restart: always
    hostname: '0.0.0.0' # 你的云服务器ip
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://0.0.0.0:8989' # 你的云服务器地址
        gitlab_rails['gitlab_shell_ssh_port'] = 2222 
    ports:
      - '8989:8989' # 这里两个端口号都需要改
      - '443:443'
      - '2222:22' # 修改ssh端口号,需要同步修改gitlab_shell_ssh_port
    volumes:
      - '$GITLAB_HOME/config:/etc/gitlab'
      - '$GITLAB_HOME/logs:/var/log/gitlab'
      - '$GITLAB_HOME/data:/var/opt/gitlab'
    shm_size: '256m'
  • 使用docker compose up -d 启动

swap分区

个人云服务器为2核4GB,输入网址后显示502。查看CPU使用率已经超过90%。

只能重启实例,参考网上进行SWAP分区

# 1、查看swap分区情况
cat /proc/swaps

# 2、创建 swap 分区
dd if=/dev/zero of=/swap bs=512 count=8388608

# 3、通过mkswap命令将上面新建出的文件做成swap分区
mkswap /swap

# 4、查看内核参数vm.swappiness中的数值是否为0,如果为0则根据实际需要调整成60
cat /proc/sys/vm/swappiness
sysctl -w vm.swappiness=60

# 5、启用 swap 分区
swapon /swap

# 6、再次查看swap分区是否启动
cat /proc/swaps

# free -h 查看内存使用情况
  • swap分区:当物理内存使用完时,系统将一部分访问不频繁的内存放置到swap分区,本质就是磁盘上。在一定程度上防止物理内存用完系统崩溃的情况
  • 个人理解swap分区很适合云服务器,一般内存比较小(土豪另说),但是需要跑的程序却比较多。它的缺点是被放入磁盘中的内存,读写速度会慢很多。

至此,GitLab的安装就应该成功了。访问对应的ip或者域名。可以设置语言。下一步就是管理员登录了

GitLab私有化部署

管理员登录

系统内置root作为管理员用户名,首次登录有以下两种方式

方案一:系统自动生成的密码

自动生成的密码只有24小时的保留期限

  1. 进入容器内部:docker exec -it be28b6c5223f /bin/bash
  2. 查看初始密码:cat /etc/gitlab/initial_root_password

GitLab私有化部署

以该方法登录后需要修改管理员密码

方案二:重置root密码

如果使用方案一登录无效,则需要使用方案二重置root密码后登录。参考官方文档

  1. 进入容器内部:docker exec -it be28b6c5223f /bin/bash
  2. 进入rails控制台: gitlab-rails console
  3. 查找到root用户:user = User.find_by_username "root"
  4. 重置密码:user.password="自己设置一个密码"
  5. 保存:user.save!

GitLab私有化部署

部署和使用公共密钥

公共密钥可以在所有项目中使用,添加读写权限。部署后可以为git仓库的使用或者配合其他平台做自动化流程提供便利。整个流程参考官网部署密钥

  1. 管理员登陆后点击“管理员”,进入管理中心

GitLab私有化部署

  1. 选择“部署密钥”,点击“新建部署密钥”

GitLab私有化部署

  1. 填入标题和ssh公钥,ssh密钥的生成参考官网这里
  2. 进入某个具体的项目(如没有则新建一个),点击“设置” => “仓库”

GitLab私有化部署

  1. 选择“部署密钥”展开 => 选择“公开访问的部署密钥” => 启用对应的公共密钥

GitLab私有化部署

  1. 选择“已启用的部署密钥” => 选择对应的公共密钥,点击编辑 => 打钩“授予此密钥写入权限” 保存更改

GitLab私有化部署

GitLab私有化部署

原文链接:https://juejin.cn/post/7242007082920312888 作者:萌鱼

(0)
上一篇 2023年6月8日 上午10:05
下一篇 2023年6月8日 上午10:15

相关推荐

发表回复

登录后才能评论