在Debian系统上集成GitLab可以为您提供一个强大的代码托管和持续集成/持续部署(CI/CD)平台。以下是一个详细的实践案例,涵盖了从安装到配置的步骤。
安装GitLab
- 更新系统包:
sudo apt-get update sudo apt-get upgrade
- 安装依赖项:
sudo apt-get install -y curl openssh-server ca-certificates tzdata perl
- 添加GitLab官方仓库:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
- 安装GitLab CE:
sudo EXTERNAL_URL="http://your_server_ip" apt-get install gitlab-ce
请将 http://your_server_ip
替换为您的服务器IP地址或域名。
配置GitLab
- 编辑GitLab配置文件:
sudo vim /etc/gitlab/gitlab.rb
- 修改外部URL:
找到 external_url 'http://your_server_ip'
并确保其设置正确。例如:
external_url 'http://192.168.1.100'
- 重新配置并重启GitLab:
sudo gitlab-ctl reconfigure sudo gitlab-ctl restart
配置Nginx
- 安装Nginx(如果尚未安装):
sudo apt-get install nginx
- 修改Nginx配置文件:
sudo vim /etc/nginx/sites-available/gitlab
添加以下内容:
server { listen 80; server_name your_server_ip; location / { proxy_pass http://gitlab_rails; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location /api/ { proxy_pass http://gitlab_rails; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location /uploads/ { proxy_pass http://gitlab_rails; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
- 启用Nginx配置:
sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl restart nginx
配置防火墙
- 允许访问GitLab端口:
sudo ufw allow 80 sudo ufw allow 443 sudo ufw reload
使用GitLab进行CI/CD
- 创建一个新的项目:
cd /path/to/your/project git init git add . git commit -m "Initial commit" git remote add origin https://gitlab.example.com/your_username/your_project.git git push -u origin master
- 配置
.gitlab-ci.yml
文件:
在项目根目录下创建 .gitlab-ci.yml
文件,并添加以下内容:
stages: - build - test - deploy build: stage: build script: - echo "Building the project..." artifacts: paths: - build/ test: stage: test script: - echo "Running tests..." deploy: stage: deploy script: - echo "Deploying the project..." only: - master
以上步骤涵盖了在Debian系统上安装、配置和使用GitLab的基本流程。您可以根据具体需求进一步调整和扩展这些步骤。