gitlab ubuntu集成开发环境搭建
GitLab与Ubuntu集成开发环境搭建指南
GitLab是基于Web的DevOps生命周期管理工具,集成代码托管、CI/CD、问题跟踪等功能,搭配Ubuntu(开源、稳定的Linux发行版)可搭建高效、安全的私有开发环境。以下是详细搭建步骤:
一、环境准备
-
系统更新与依赖安装
更新Ubuntu系统包并安装必要依赖(用于GitLab运行、SSH连接、数据库支持及时区配置):sudo apt update & & sudo apt upgrade -y sudo apt install -y curl openssh-server ca-certificates tzdata perl postfix
注意:
postfix
用于GitLab邮件通知(安装时选择“Internet Site”类型,填写服务器域名或IP)。 -
硬件要求
GitLab推荐最低配置:2核CPU、4GB内存、20GB存储空间(生产环境建议4核+8GB内存,避免性能瓶颈)。
二、安装GitLab Community Edition (CE)
1. 添加GitLab官方仓库
通过官方脚本添加GitLab软件源,确保后续安装的是最新稳定版:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
2. 安装GitLab CE
使用apt
安装GitLab CE(社区版),安装过程会自动配置系统服务:
sudo apt install gitlab-ce -y
3. 配置GitLab
编辑GitLab主配置文件/etc/gitlab/gitlab.rb
,设置外部访问URL(替换为服务器IP或域名):
sudo vim /etc/gitlab/gitlab.rb
找到external_url
行,修改为:
external_url 'http://your_server_ip' # 或 'http://your_domain.com'
可选配置:若需使用中文界面,添加gitlab_rails['time_zone'] = 'Asia/Shanghai'
。
4. 启动GitLab服务
重新配置GitLab以应用修改,并启动服务:
sudo gitlab-ctl reconfigure # 应用配置
sudo gitlab-ctl start # 启动服务
sudo gitlab-ctl status # 检查服务状态(确保所有组件为“run”状态)
三、访问与初始化GitLab
-
浏览器访问
在浏览器中输入http://your_server_ip
,进入GitLab登录页面。 -
初始设置
- 默认管理员账号:
root
- 首次登录需设置密码(通过命令查看初始密码,可选):
sudo cat /etc/gitlab/initial_root_password
- 登录后,建议修改
root
密码并关闭“注册功能”(防止未授权用户创建账号):
进入Admin Area → Settings → Sign-up restrictions
,关闭“Sign-up enabled”。
- 默认管理员账号:
-
创建项目与用户
- 点击左侧导航栏“+”→“New project”,创建项目(选择“Private”或“Public”权限)。
- 进入“Admin Area → Users”,创建用户并分配项目权限(如
Developer
、Maintainer
)。
四、集成GitLab CI/CD(自动化流程)
GitLab CI/CD通过.gitlab-ci.yml
文件定义自动化任务(构建、测试、部署),配合GitLab Runner
执行。
1. 安装GitLab Runner
GitLab Runner是执行CI/CD任务的代理,需单独安装:
# 添加GitLab Runner仓库
curl -L --output /etc/apt/trusted.gpg.d/gitlab.asc https://packages.gitlab.com/gitlab/gitlab-runner/gpgkey
echo "deb https://packages.gitlab.com/gitlab/gitlab-runner/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gitlab-runner.list
sudo apt update
# 安装Runner
sudo apt install gitlab-runner -y
2. 注册Runner
将Runner注册到GitLab项目,使其能接收并执行CI/CD任务:
sudo gitlab-runner register
按提示输入:
- GitLab实例URL(
http://your_server_ip
) - 注册令牌(从项目页面
Settings → CI / CD → Runners
获取) - Runner描述(如“ubuntu-runner”)
- 标签(如“ubuntu”)
- 执行器类型(推荐
Shell
,适合Ubuntu环境)。
3. 创建.gitlab-ci.yml
文件
在项目根目录下创建.gitlab-ci.yml
,定义CI/CD流程(以下为示例):
stages:
- build
- test
- deploy
build_job:
stage: build
script:
- echo "Installing dependencies..."
- npm install # 示例:安装Node.js依赖
artifacts:
paths:
- node_modules/ # 保存依赖到artifacts,供后续job使用
test_job:
stage: test
script:
- echo "Running tests..."
- npm test # 示例:运行测试
deploy_job:
stage: deploy
script:
- echo "Deploying to production..."
- scp -r . user@your_server_ip:/var/www/html # 示例:部署到服务器
only:
- master # 仅master分支触发部署
4. 触发与监控CI/CD
- 推送代码到GitLab仓库(如
git push origin master
),Runner会自动触发CI/CD管道。 - 进入项目页面
CI / CD → Pipelines
,查看管道状态(成功/失败)、作业日志(调试问题)。
五、常见问题解决
-
防火墙配置
确保Ubuntu防火墙(ufw
)开放必要端口:sudo ufw allow http # 80端口(HTTP) sudo ufw allow https # 443端口(HTTPS,可选) sudo ufw allow ssh # 22端口(SSH) sudo ufw enable # 启用防火墙
-
内存不足问题
若服务器内存小于4GB,GitLab可能无法正常启动。可通过以下方式优化:- 关闭不必要的服务(如
postgresql
,改用外部数据库)。 - 增加交换分区(Swap):
sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
- 关闭不必要的服务(如
-
Runner未执行任务
- 检查Runner是否注册成功(
sudo gitlab-runner list
)。 - 查看Runner日志(
sudo gitlab-runner --debug run
),排查配置错误。
- 检查Runner是否注册成功(
通过以上步骤,即可在Ubuntu上搭建GitLab集成开发环境,并实现代码托管、团队协作与自动化流程。根据实际需求,可进一步扩展功能(如配置HTTPS、集成Docker、设置监控告警)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: gitlab ubuntu集成开发环境搭建
本文地址: https://pptw.com/jishu/716599.html