gitlab搭建

中文文档地址 https://docs.gitlab.cn/omnibus/installation/
1.配置要求 最优配置 4c8g

  • 4 cores is the recommended minimum number of cores and supports up to 500 users
  • 4 GB RAM is the required minimum memory size and supports up to 500 users
    • Our Memory Team is working to reduce the memory requirement.
      内存有点不够用备份时会有点卡
  • 存储空间:至少 25 GB 的硬盘空间(实际需求根据项目大小和代码库大小来确定)目前系统盘80g,数据盘40g用来备份 挂载在bk_data下
    2.安装步骤
    2.1 直接ubuntu安装
    2.1.1 安装必要的软件
    在开始安装 GitLab 之前,我们需要安装必要的软件。这些软件包括curl、openssh-server、ca-certificates和postfix。您可以使用以下命令安装它们:
    sudo apt-get install curl openssh-server ca-certificates postfix
    2.2 添加 GitLab 存储库
    您需要将 GitLab 存储库添加到系统。
    curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
    2.1.2 安装GitLab
    现在您可以安装 GitLab 了。使用以下命令安装 GitLab:
    sudo apt-get install gitlab-ce
    2.1.3.配置GitLab
    安装 GitLab 后,我们需要配置一些详细信息。
    3.1 配置域名和 SSL 认证
    首先,您需要配置 GitLab 的域名和 SSL 认证。这将确保您的GitLab 服务器有一个安全的标识,并且您可以通过 HTTPS 访问它。您可以使用以下命令为您的GitLab服务器配置SSL证书:
    sudo openssl req -newkey rsa:2048 -nodes -keyout /etc/gitlab/ssl/gitlab.example.com.key -out /etc/gitlab/ssl/gitlab.example.com.csr
    sudo openssl x509 -req -days 365 -in /etc/gitlab/ssl/gitlab.example.com.csr -signkey /etc/gitlab/ssl/gitlab.example.com.key -out /etc/gitlab/ssl/gitlab.example.com.crt
    注意将 “example.com” 替换为您的域名。
    3.2 配置 GitLab 访问权限
    GitLab 允许您创建不同的用户和用户组。默认情况下,除了管理员外,其他人都无法访问您的 GitLab 服务器。您可以使用以下命令为您的GitLab服务器添加新用户:
    sudo gitlab-rails console
    在这里,您可以在控制台上执行以下命令以创建新用户:
    user = User.new(:name => ‘New User’, :username => ‘new_username’, :email => ‘new_user@example.com’, :password => ‘password’, :password_confirmation => ‘password’)
    user.save
    3.3 配置SMTP服务器
    您需要配置一个SMTP服务器,使 GitLab 能够发送邮件。您可以使用以下命令将SMTP服务器添加到 GitLab:
    sudo vim /etc/gitlab/gitlab.rb
    在 “gitlab_rails[‘smtp_enable’]” 下添加以下语句:
    gitlab_rails[‘smtp_address’] = “smtp.gmail.com”
    gitlab_rails[‘smtp_port’] = 587
    gitlab_rails[‘smtp_authentication’] = “plain”
    gitlab_rails[‘smtp_enable_starttls_auto’] = true
    gitlab_rails[‘smtp_user_name’] = “youremail@gmail.com”
    gitlab_rails[‘smtp_password’] = “password”
    更新设置:
    sudo gitlab-ctl reconfigure
    2.2 docker-compose安装启动
    version: ‘3.6’
    services:
    web:
    image: ‘gitlab/gitlab-ce:latest’
    restart: always
    hostname: ‘ip’
    deploy:
    resources:
    limits:
    cpus: ‘3.5’ # 限制使用的CPU份额
    memory: 3.2G # 限制使用的内存
    reservations:
    cpus: ‘2’ # 保留最小CPU份额
    memory: 2G # 保留最小内存
    environment:
    TZ: ‘Asia/Shanghai’
    GITLAB_OMNIBUS_CONFIG: |
    external_url ‘http://ip’ # web站点访问地址
    # 默认是被注释掉的,官方建议该值是CPU核心数加一,可以提高服务器的响应速度;
    # 如果内存只有4G,或者服务器上有其它业务,就不要改了,以免内存不足
    # 这个参数最小值是2,设为1,服务器可能会卡死。
    puma[‘worker_processes’] = 3
    puma[‘per_worker_max_memory_mb’] = 1024 # 1GB
    # 默认是25,可适当改小
    sidekiq[‘concurrency’] = 25
    # 默认为256MB,可适当改小
    postgresql[‘shared_buffers’] = “256MB”
    # Add any other gitlab.rb configuration here, each on its own line
    ports:
    - ‘80:80’ # 注意宿主机和容器内部的端口要一致,否则external_url无法访问
    #- ‘443:443’
    #- ‘2222:22’
    volumes:
    - ‘./config:/etc/gitlab’
    - ‘./logs:/var/log/gitlab’
    - ‘./data:/var/opt/gitlab’
    - ‘./bk_data:/var/opt/gitlab/backups’

3.备份
3.1、修改备份文件目录
https://cloud.tencent.com/developer/article/1622317
备份时需要保持gitlab处于正常运行状态,直接执行gitlab-rake gitlab:backup:create进行备份使用以上命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1530156812_2018_06_28_10.8.4_gitlab_backup.tar的压缩包, 这个压缩包就是Gitlab整个的完整部分, 其中开头的1530156812_2018_06_28_10.8.4是备份创建的日期
3.1、修改备份文件目录
可以通过/etc/gitlab/gitlab.rb配置文件来修改默认存放备份文件的目录
gitlab_rails[‘backup_path’] = “/var/opt/gitlab/backups”
修改完成之后使用gitlab-ctl reconfigure命令重载配置文件即可
3.2、设置备份过期时间
[root@gitlab ~]# vim /etc/gitlab/gitlab.rb
gitlab_rails[‘backup_keep_time’] = 604800 #以秒为单位
3.3、gitlab自动备份
在老服务器上将备份文件发送至新服务器的相应目录下

[root@gitlab ~]# crontab -e
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
[root@gitlab ~]# scp /var/opt/gitlab/backups/1530156812_2018_06_28_10.8.4_gitlab_backup.tar root@10.0.0.6:/var/opt/gitlab/backups/
目前直接挂载在数据盘
volumes:
- ‘./bk_data:/var/opt/gitlab/backups’
数据盘开机启动自动挂载
/etc/fstab
[root@gitlab ~]# scp /var/opt/gitlab/backups/1530156812_2018_06_28_10.8.4_gitlab_backup.tar root@10.0.0.6:/var/opt/gitlab/backups/
Crontab 时间修改
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
/etc/init.d/cron restart

3.4、gitlab恢复
[root@gitlab ~]# gitlab-ctl stop unicorn #停止相关数据连接服务
[root@gitlab ~]# gitlab-ctl stop sidekiq
[root@gitlab-new ~]# chmod 777 /var/opt/gitlab/backups/1530156812_2018_06_28_10.8.4_gitlab_backup.tar
#修改权限,如果是从本服务器恢复可以不修改
[root@gitlab ~]# gitlab-rake gitlab:backup:restore BACKUP=1530156812_2018_06_28_10.8.4#从1530156812_2018_06_28_10.8.4编号备份中恢复
4.优化
4.1、为swap添加空间
sudo mkdir /swap
cd /swap
sudo fallocate -l 16G swapfile
sudo chmod 600 /swap/swapfile
sudo mkswap /swap/swapfile
启用交换分区
sudo swapon /swap/swapfile
查看是否启用
sudo swapon --show
备份
sudo cp /etc/fstab /etc/fstab.bak
修改配置文件
echo ‘/swap/swapfile none swap sw 0 0’ | sudo tee -a /etc/fstab
4.2、配置优化
限制cpu内存使用
limits:
cpus: ‘3.5’ # 限制使用的CPU份额
memory: 3.2G # 限制使用的内存
reservations:
cpus: ‘2’ # 保留最小CPU份额
memory: 2G # 保留最小内存
puma[‘worker_processes’] = 3
puma[‘per_worker_max_memory_mb’] = 1024 # 1GB
5.数据盘挂载
在 Ubuntu 中,你可以使用命令行来分区和挂载磁盘。以下是一些基本的步骤:

  1. 首先,使用 lsblk 命令列出所有可用的磁盘和分区:
    root@118:/# lsblk
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
    vda 252:0 0 80G 0 disk
    └─vda1 252:1 0 80G 0 part /var/opt/gitlab/backups
    /var/opt/gitlab
    /var/log/gitlab
    /etc/hosts
    /etc/hostname
    /etc/resolv.conf
    /etc/gitlab
    vdb 252:16 0 40G 0 disk
    └─vdb1 252:17 0 40G 0 part
  2. 使用 mount 命令挂载分区。将 /dev/vdb1 替换为你要挂载的分区,将 /root/ 替换为你在上一步中创建的挂载点:
    sudo mount /dev/sdb1 /root/gitlab/bk_data
  3. 如果你想要在系统重启后自动挂载分区,需要编辑 /etc/fstab 文件。首先,使用 blkid 命令获取分区的 UUID:
    sudo blkid
    找到你要挂载的分区的 UUID。然后,使用文本编辑器打开 /etc/fstab 文件,例如使用 nano:
    sudo nano /etc/fstab
    在文件末尾添加一行,将分区的 UUID、挂载点和文件系统类型添加到该行中。例如:
    UUID=your_partition_uuid /mnt/my_partition ext4 defaults 0 0
    将 your_partition_uuid 替换为你在上一步中获取的 UUID。保存文件并退出编辑器。
    现在,分区将在系统启动时自动挂载到指定的挂载点。
  • 20
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GitLab是一个开源的版本控制系统,提供了强大的代码托管和协作管理功能。虽然GitLab主要用于软件开发,但它也可以用来搭建博客。 搭建GitLab博客的步骤如下: 1. 安装GitLab:首先,需要在服务器上安装GitLab软件,可以根据具体的操作系统选择相应的安装方式。 2. 创建用户和项目:安装完成后,可以通过Web界面登录GitLab,创建博客所需的用户和项目。可以选择创建一个单独的项目作为博客仓库。 3. 编写博客:在项目中创建一个Markdown文件,用于编写博客内容。GitLab支持Markdown语法,可以方便地编辑和排版文本。 4. 提交和推送:完成博客内容的编写后,将文件提交到GitLab仓库中,并将代码推送到服务器上。 5. 配置域名和访问:在服务器上配置域名解析,并设置GitLab的域名指向服务器的IP地址。然后,就可以通过浏览器访问GitLab博客了。 6. 自定义主题:通过GitLab提供的自定义功能,可以对博客进行个性化主题的设置。可以选择现有的主题样式,或者自定义CSS文件来定制博客的外观。 7. 文章管理和发布:在博客中添加新的文章时,只需在对应的项目中创建Markdown文件并提交到仓库中即可。可以使用GitLab提供的分支和合并功能来管理不同版本的文章,并实现发布和修改的控制。 总之,通过搭建GitLab博客,可以享受到版本控制和协作管理带来的便利性,实现博客内容的编写、发布和管理。同时,GitLab还提供了许多其他功能,如评论、订阅和搜索等,可以进一步丰富和优化博客的功能和用户体验。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值