温馨提示×

GitLab在Ubuntu上的部署流程是什么

小樊
46
2025-10-04 06:47:33
栏目: 智能运维

GitLab在Ubuntu上的部署流程

一、前期准备

  • 系统要求:Ubuntu 20.04及以上版本(推荐);至少2核CPU、4GB及以上内存(推荐)、20GB及以上可用存储空间(推荐100GB以上);服务器需联网,防火墙开放HTTP(80端口)、HTTPS(443端口)及SSH(22端口,默认可选)。
  • 设置主机名(可选):便于识别服务器,执行sudo hostnamectl set-hostname gitlab,并更新/etc/hosts文件(添加127.0.0.1 gitlab)。

二、安装前置依赖

更新系统包并安装GitLab所需依赖(包括SSH服务、证书、时区数据等):

sudo apt update
sudo apt install -y curl openssh-server ca-certificates tzdata perl

这些依赖是GitLab正常运行的基础,如openssh-server用于Git over SSH访问。

三、添加GitLab官方仓库

  1. 导入GPG密钥:验证软件包完整性,执行curl https://packages.gitlab.com/gpg.key | sudo apt-key add -(部分新版本Ubuntu可能需要用gpg --dearmor -o /usr/share/keyrings/gitlab-archive-keyring.gpg替代)。
  2. 创建APT源文件:指定GitLab仓库地址,执行sudo nano /etc/apt/sources.list.d/gitlab_gitlab-ce.list,添加对应Ubuntu版本的源(如Ubuntu 22.04):
    deb https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu jammy main
    
    保存退出后,更新APT包索引:sudo apt update

四、安装GitLab社区版(CE)

执行安装命令,可指定外部URL(替换为服务器IP或域名,如http://192.168.1.100):

sudo EXTERNAL_URL="http://your_server_IP_or_domain" apt install gitlab-ce

安装过程中会自动配置服务,完成后GitLab会尝试启动。

五、配置GitLab

  1. 修改基础配置:编辑/etc/gitlab/gitlab.rb文件(核心配置文件),重点设置:
    external_url 'http://your_server_IP_or_domain'  # 必须设置,用于访问GitLab
    # 可选:配置邮件通知(启用后用于密码重置、通知等)
    gitlab_rails['smtp_enable'] = true
    gitlab_rails['smtp_address'] = "smtp.example.com"
    gitlab_rails['smtp_port'] = 587
    gitlab_rails['smtp_user_name'] = "your_email@example.com"
    gitlab_rails['smtp_password'] = "your_email_password"
    gitlab_rails['smtp_domain'] = "example.com"
    gitlab_rails['smtp_authentication'] = "login"
    gitlab_rails['smtp_enable_starttls_auto'] = true
    gitlab_rails['gitlab_email_from'] = "your_email@example.com"
    
  2. 重新配置并启动:执行sudo gitlab-ctl reconfigure应用配置(会自动启动GitLab服务);如需重启服务,用sudo gitlab-ctl restart

六、访问GitLab

在浏览器中输入http://your_server_IP_or_domain,首次登录需设置root用户的密码(默认密码在/etc/gitlab/initial_root_password文件中,安装后10分钟内有效);登录后即可创建项目、管理用户。

七、后续优化配置(可选)

  • 配置HTTPS(增强安全性):使用Let’s Encrypt免费获取SSL证书,执行:
    sudo apt install certbot python3-certbot-nginx
    sudo certbot --nginx -d your_gitlab_domain.com
    
    按提示完成证书安装,GitLab会自动配置HTTPS(需提前将域名解析到服务器IP)。
  • 配置防火墙:使用ufw允许HTTP/HTTPS端口(若未禁用防火墙):
    sudo ufw allow http
    sudo ufw allow https
    sudo ufw enable
    
  • 设置开机自启动:GitLab服务默认随系统启动,可通过sudo systemctl enable gitlab-runsvdir.service确认。

0