远端服务器的gitlab搭建

本文详细介绍如何在CentOS7环境下部署GitLab社区版,包括安装基础依赖、配置防火墙、安装邮件服务器Postfix、设置nginx及git,通过YUM安装GitLab,以及配置GitLab站点URL和端口,最后启动并访问GitLab。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 环境信息
工具 / 环境版本
Linux ServerCentOS 7
GitLabce(社区版)

  • 准备工作
  1. 安准基础依赖
#安装技术依赖
sudo yum install -y curl policycoreutils-python openssh-server

#启动ssh服务&设置为开机启动
sudo systemctl enable sshd
sudo systemctl start sshd

#打开系统防火墙的http访问
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld
如果报错FirewallD is not running,则输入如下命令解决。
#运行防火墙服务
systemctl start firewalld.service
  1. 安装 Postfix

    Postfix 是一个邮件服务器,GitLab 发送邮件需要用到。

#安装postfix
sudo yum install -y postfix

#启动postfix并设置为开机启动
sudo systemctl enable postfix
sudo systemctl start postfix
  1. 开放 ssh 以及 http 服务(80 端口)
#开放ssh、http服务
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --add-service=http --permanent

#重载防火墙规则
sudo firewall-cmd --reload

  • 部署过程
  1. 安装所需关键nginxgit
建立新版 nginx 的 yum 仓库
wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm
#安装 git
#如果已经用 yum 安装过 git, 并且版本低于 2.7.4, 要先卸载掉旧的版本
yum remove git
yum install vim curl openssh-server openssh-clients gcc-c++ zlib1g-dev zlib
  1. Yum 安装 GitLab
#添加 GitLab 社区版 Package
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
新建 /etc/yum.repos.d/gitlab-ce.repo,内容为
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
再执行
#更新本地 YUM 缓存
sudo yum makecache
#自动安装最新GitLab社区版
sudo yum install gitlab-ce
安装成功后会看到 gitlab-ce 打印了以下图形

成功里程碑.png

  • 修改 gitlab 配置文件指定服务器 ip自定义端口
GitLab 默认的配置文件路径是 /etc/gitlab/gitlab.rb
默认的站点 Url 配置项是:external_url 'http://gitlab.example.com'
可以将 GitLab 站点 Url 修改为ip地址+端口号,像这样:http://xx.xx.xx.xx:xxxx
即用 IP 代替域名,这里根据自己需求来即可
#修改配置文件
sudo vi /etc/gitlab/gitlab.rb

#配置首页地址(大约在第15行)
external_url 'http://xx.xx.xx.xx:xxxx'

  • 启动并访问 GitLab
启动 GitLab
#重新配置并启动
sudo gitlab-ctl reconfigure

#完成后将会看到如下输出
Running handlers complete
Chef Client finished, 432/613 resources updated in 03 minutes 43 seconds
gitlab Reconfigured!
  1. 访问 GitLab
将设置的域名 DNS 解析到服务器 IP,或者修改本地 host 将域名指向服务器 IP。
打开浏览器访问:http://xx.xx.xx.xx:xxxx
第一次登陆默认管理员密码和用户名:
Username: root
Password: 5iveL!fe
  1. 访问页面无回应
打开浏览器,输入前面配置的地址,如果本机可以访问,但其他电脑访问不了,应该是防火墙拦截了端口,可以在防火墙添加端口:
/sbin/iptables -I INPUT -p tcp --dport 8010 -j ACCEPT
如果访问的时候报 502 错误,加上这句:
chmod -R 755 /var/log/gitlab

参考链接1️⃣
参考连接2️⃣
参考链接3️⃣

<think>好的,用户想了解如何将本地代码推送到自己搭建GitLab服务器。我需要根据提供的引用内容来整理步骤。首先,引用[4]提到生成SSH密钥并添加到GitLab,这可能涉及到服务器端的配置。用户可能已经部署了GitLab,但不确定具体步骤,所以需要详细说明这部分。 接下来,引用[2]和[3]都提到了在本地设置远程仓库地址,比如使用git remote add命令。用户可能需要在本地项目目录中关联自建的GitLab仓库地址。这里需要区分两种情况:新建仓库还是已有项目,但用户的问题更可能是如何将现有本地代码推送到新建的GitLab仓库。 然后,引用[1]和[3]提到了推送代码的命令,比如git push -u origin main。需要注意分支名称,现在很多地方用main代替了master,所以需要提醒用户确认分支名。此外,如果用户首次推送,可能需要使用-u参数来设置上游分支。 用户可能遇到的常见问题包括权限问题,比如SSH密钥未正确配置,或者远程仓库地址错误。需要强调密钥的添加步骤,以及如何检查远程仓库的URL是否正确。 另外,引用[4]提到在服务器上生成密钥,可能用户需要在GitLab服务器上配置部署密钥,或者将用户的公钥添加到个人账户中。这里需要明确说明是将本地用户的公钥添加到GitLab账户的SSH Keys部分,而不是服务器本身的密钥。 最后,需要确保步骤清晰,分阶段说明:先准备本地环境,配置Git,生成密钥,添加远程仓库,然后执行推送命令。可能还需要验证推送是否成功,比如在GitLab网页上查看项目文件。 另外,用户可能不熟悉Git的基本操作,所以需要详细说明每个命令的作用,比如git init,git add,git commit等。同时,提醒用户注意仓库是否为空的,是否需要先提交代码再推送。 总结步骤应该是: 1. 在GitLab上创建新项目,获取仓库URL。 2. 本地初始化Git仓库,添加文件并提交。 3. 配置SSH密钥,将公钥添加到GitLab账户。 4. 添加远程仓库地址到本地项目。 5. 执行推送命令,并验证结果。 需要检查是否有遗漏的步骤,比如用户可能需要先安装Git或者配置用户名和邮箱,这些虽然引用中没有提到,但属于常见前置条件,应该在步骤中提及。 最后,生成相关问题,比如如何解决推送失败,如何处理冲突,如何同步多个远程仓库等,这些可以帮助用户进一步学习。</think>### 将本地代码推送到自建GitLab服务器的分步教程 #### 一、准备工作 1. **确保GitLab服务器已部署** 确认本地或内网已部署GitLab服务,并能通过浏览器访问其Web界面(如 `http://your-gitlab-server.com`)[^4]。 2. **配置本地Git环境** 安装Git并配置用户信息(若未配置): ```bash git config --global user.name "Your Name" git config --global user.email "your.email@example.com" ``` --- #### 二、生成SSH密钥并添加到GitLab 1. **生成密钥对** 在本地终端执行以下命令(若没有现成密钥): ```bash ssh-keygen -t ed25519 -C "your.email@example.com" ``` 默认保存路径为 `~/.ssh/id_ed25519` 和 `~/.ssh/id_ed25519.pub`。 2. **添加公钥到GitLab** - 复制公钥内容:`cat ~/.ssh/id_ed25519.pub` - 登录GitLab Web界面 → 右上角用户设置 → **SSH Keys** → 粘贴公钥并保存[^4]。 --- #### 三、推送本地代码到GitLab仓库 1. **在GitLab创建空仓库** - 通过Web界面新建项目(Project),记录仓库SSH地址(如 `git@your-gitlab-server.com:username/project.git`)。 2. **初始化本地仓库** ```bash cd /path/to/local/project git init git add . git commit -m "Initial commit" ``` 3. **关联远程仓库并推送** - 添加远程仓库地址: ```bash git remote add origin git@your-gitlab-server.com:username/project.git ``` - 首次推送代码(以 `main` 分支为例): ```bash git push -u origin main ``` 若使用 `master` 分支,替换为 `git push -u origin master`[^2][^3]。 --- #### 四、验证推送结果 1. **检查GitLab仓库** 刷新项目页面,确认代码文件已显示。 2. **查看远程分支状态** ```bash git remote -v # 验证远程仓库地址 git branch -a # 查看本地与远程分支关联 ``` --- #### 常见问题解决 - **权限拒绝(Permission denied)** 检查SSH密钥是否绑定正确,或尝试使用HTTP地址并配置账号密码认证。 - **远程仓库非空冲突** 添加 `-f` 参数强制推送(谨慎使用):`git push -f origin main` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值