自己搭建一个git服务器
❶ 手把手教你在 CentOS8 搭建 Gitlab 服务器
写在前面的话很多 IT 人从业 多年也许都还没有亲自搭过一次 Gitlab 服务器,我就是其中之一!通常都是入职后,拿到上面给的 Git 地址把项目 clone 下来!然后日复一日的 crud 搬砖,直到离职。也许用了几百年 Git 了,但是从来没有亲自部署过 Gitlab 服务器!虽然现在社会分工越来越细,部署 Gitlab 服务器通常都是运维的兄弟去做了,但如果你去一家创业公司,很可能就要你来部署的!所以该走的路我们还是得走一下!
现在来正式从 “零” 开始搭建 Gitlab 服务器: 首先来看看Gitlab 和 Github 的区别,一句话来概括就是:
Gitlab 是给企业私有化部署的 Git 服务器; Github 是互联网在线版的 Git 服务器!
Github 对于开源项目建仓是免费使用的,那么 Gitlab 收不收费呢?分布式版本控制方面的功能 Gitlab 也是免费使用的,提供了社区版 (Gitlab CE) 给大家!Gitlab 现在可强大了,已经有自己成套的 DevOps 落地解决方案 (提高生产力的利器),但是这部分功能是在收费的旗舰版 / 企业版 (Gitlab EE) 上提供的!就像 Github 建私有化仓库的功能也是收费的一样,很正常!
不啰嗦了,快速开始吧:进入官网如下图,按箭头依次点击:官方建议使用至少 4GB 的可用内存来运行 Gitlab,我们选用服务器时就要注意了,至少要 4GB 以上。点击CentOS 8 一直往下滑
在安装步骤的最后,有一个短短的链接,写着 "CE or EE",似乎有个 CE 版的入口,点进去如下图:新页面前面的好几段依然在讲使用旗舰版 (企业版 Gitlab EE) 有多少好处.... 直到最后才放了一个免费社区版 (Gitlab CE) 的链接 “Install GitLab Community Edition”,藏得这么深,这是怕别人知道啊!续继点进去:继续点:服务器准备好后,按着官方 Gitlab CE 版的安装说明进行安装即可,其实很简单,认真算起来只有三步 (由于我是 root 身份,所以不用 sudo):
第一步安装和启用 policycoreutils、openssh-server 和 openssh-clients 组件,并将它们开放防火墙 (不要忘了 reload 防火墙):
dnf install -y curl policycoreutils openssh-server openssh-clients# Enable OpenSSH server daemon if not enabled: sudo systemctl status sshdsystemctl enable sshdsystemctl start sshd# Check if opening the firewall is needed with: sudo systemctl status firewalld firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https systemctl reload firewal与邮件通知相关的 Postfix 组件其实可以暂时不用安装和配置,这个可以放到后面再来配置一个外部的 SMTP 服务器:
dnf install postfix systemctl enable postfix systemctl start postfix第二步使用 curl 工具下载并配置 Gitlab CE 版 RPM 安装包的仓库配置脚本 (请确认你的服务器网络通畅,注意这只是 RPM 安装包的仓库配置脚本,并不是真正的安装包)
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash第三步安装 Gitlab CE 版并指定外部访问的 URL 地址,这里注意一下:外部访问 URL 地址使用一个自定义的域名,即使该域名实际上没有也没关系!另外如果你的服务器没有 https 相关的证书,那就不要用 https,直接用 http 协议!客户端使用时你可以在 HOST 里做一下映射的,当然,有真实可以的域名就最好了!为什么要用域名来指定外部访问 URL 地址呢?因为后面你使用 Gitlab 时会发现这是一个明智的选择!
EXTERNAL_URL="https://gitlab.example.com" dnf install -y gitlab-ce到这里你会发现要从第二步中配置的国外站下载多达 700M 的 gitlab-ce 包是有多么的艰难,预计耗时估计要 10 几个钟,如果没有科学上网的话还是要采用别的方法!
蜗牛速度是无法忍受的,Ctrl+C 掐断下载过程吧,换其它方法:
自己先从其他地方下载到 gitlab-ce 的 rmp 包,再上传到服务器进行安装;
使用一个国内镜像地址进行在线安装;
这里我们讲一下第二种办法,使用国内镜像地址进行在线安装,这里我们选择清华大学提供的镜像服务器,因为它提供了比较全面的使用说明 ( https://mirror.tuna.tsinghua.e.cn/help/gitlab-ce/),现在我们按说明来安装一下 Gitlab CE 版 (以下步骤是从承接上面的第二步开始的):
新的第二步使用 vi 或 vim 新建并编辑 yum 源配置文件 /etc/yum.repos.d/gitlab-ce.repo
# vim /etc/yum.repos.d/gitlab-ce.repo填入以下 yum 源配置信息:
[gitlab-ce]name=Gitlab CE Repositorybaseurl=https://mirrors.tuna.tsinghua.e.cn/gitlab-ce/yum/el$releasever/gpgcheck=0enabled=1新的第三步使用 yum 包管理器安装 Gitlab CE 版
# yum makecache# yum -y install gitlab-ce在 “新的第三步” 里比原来的第三步少了个东西,啥东西呢?细心的同学肯定发现了,没有配置 Gitlab 服务器的外部访问地址 ( EXTERNAL_URL)!不要急,等待 Gitlab 装完后我们再去配一下就好了!国内镜像还是比较快的,几分钟就下载并装好!
好了,现在该来补上 “新的第三步” 里缺失的 Gitlab 服务器的外部访问地址 (EXTERNAL_URL),在哪里配置呢?熟悉 Linux 服务器各目录作的人应该都能猜到:Gitlab 这么全球通用的版本控制软件,配置文件应该会也按照 Linux 约定放在 /etc 目录中吧!使用 cd 到 /etc 目录看一看或用 ls /etc/gitl 再 tab 一下就知道了!
# ls /etc/gitlab/gitlab.rb果然是有一个 Gitlab 的配置文件!使用 cat 命令查看一下发现内容不是一般的多,眼睛都会看瞎!那么我们用 grep 命令先过滤出包含外部访问地址 (EXTERNAL_URL) 配置内容先:
# grep -i 'EXTERNAL_URL' /etc/gitlab/gitlab.rb ##! For more details on configuring external_url see:##! EXTERNAL_URL will be used to populate/replace this value.external_url 'http://gitlab.example.com'# registry_external_url 'https://registry.example.com'# pages_external_url "http://pages.example.com/"# gitlab_pages['artifacts_server_url'] = nil # Defaults to external_url + '/api/v4'# gitlab_pages['auth_redirect_uri'] = nil # Defaults to projects subdomain of pages_external_url and + '/auth'# gitlab_pages['gitlab_server'] = nil # Defaults to external_url# mattermost_external_url 'http://mattermost.example.com'# When the registry is automatically enabled using the same domain as `external_url`,# For example, if external_url is the same for two secondaries, you must specify# If it is blank, it defaults to external_url.现在确认与外部访问地址 (EXTERNAL_URL) 相关的内容就这么多,动手前先用 cp 命令备份一下 /etc/gitlab/gitlab.rb 文件,因为后面我们要做字符串直接替换这种高险操作!有备无患!
# cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.bak# ls /etc/gitlab/gitlab.rbgitlab.rb.bak现在使用 sed 命令替换 /etc/gitlab/gitlab.rb 文件中的 http://gitlab.example.com 为 http://gitlab.xxxxx.com ? ,xxxxx为你的域名。
sed 命令字符串替换格式: sed -i "s$ 要查找的字段 $ 替换成的字段 & g" 文件名 ,-i 表示是 in place edit 的意思,即就地编辑更改;参数里开头的 s 是 search 的意思,可以换成 d 表示 delete,最后的 g 是 globa 的意思,即全文搜索;
dnf install postfix systemctl enable postfix systemctl start postfix0完了后,我们再用 grep 命令先筛选一下与外部访问地址 (EXTERNAL_URL) 相关的内容:
dnf install postfix systemctl enable postfix systemctl start postfix1使用 gitlab-ctl 工具根据修改后的配置文件重新配置 gitlab 服务实例使配置生效:
dnf install postfix systemctl enable postfix systemctl start postfix2还有其他一些常用命令如下查看状态:
dnf install postfix systemctl enable postfix systemctl start postfix3启动服务:
dnf install postfix systemctl enable postfix systemctl start postfix4重启服务:
dnf install postfix systemctl enable postfix systemctl start postfix5停止服务:
dnf install postfix systemctl enable postfix systemctl start postfix6列出所有服务:
dnf install postfix systemctl enable postfix systemctl start postfix7最后从虚拟机的宿主机浏览器上用 IP 地址或域名 (用域名的话需要先在宿主机的 /etc/hosts 配置域名与 IP 地址映射,所以实际上还是 IP) 访问一下 gitlab 服务:访问成功如下图 ,密码在 /etc/gitlab/initial_root_password 文件中,登陆后可修改:
附加语言改成中文: 进入 Preference,翻到最后,找到 Language,设置简体中文并保存。
原文:https://juejin.cn/post/7099630956088131598❷ 自托管Git服务程序 | Gitea搭建/使用教程
Gitea搭建与使用教程如下:
一、前期准备
- 安装Git:确保本地已安装Git,可通过官网下载并配置好Git Bash或Git GUI。
二、部署步骤
使用1Panel安装Gitea:
- 在1Panel中安装Gitea,并确保安装MySQL,版本根据服务器性能选择,同时勾选端口对外访问。
初始化Gitea:
- 输入站点名称,若无域名访问,可保持默认,通过ip:3000进行访问。
配置Git操作:
- 初始化完成后,在本地使用Git进行操作。
- 上传SSH密钥以避免密码验证,提高操作便捷性和安全性。
解决SSH连接问题:
- 如遇到SSH连接问题,需修改Gitea的端口设置和app.ini文件。
- 启用rootless Dockercompose部署可简化配置过程。
三、使用与配置
- Gitea的使用与GitHub类似,但需注意配置和安全设置。
- Gitea不内置Pages服务器,需要外部域名提供静态页面,可通过反向代理或第三方服务实现。
- 教程中展示了如何使用Gitea推送到HEXO博客仓库,用户可根据实际需求进行操作。
四、后续管理
- 持续关注文章更新,以便更好地管理和使用Gitea。
- 根据实际需求进行进一步的配置和优化,确保Gitea的稳定性和安全性。
❸ 自托管Git服务程序 | Gitea搭建/使用教程
自托管Git服务程序Gitea的搭建与使用教程
Gitea,作为轻量级的Git服务程序,相较于GitLab,其安装和配置更为简便。首先,确保本地已安装Git,可通过官网下载并配置好Git Bash或Git GUI。本文将通过1Panel进行部署,适合各种Linux系统,如Ubuntu、Debian和CentOS。Gitea对服务器配置要求不高,如夜梦使用的是优惠后的雨云服务器。
Gitea不内置Pages服务器,需要外部域名提供静态页面,可通过反向代理或第三方服务实现。教程中,将展示如何使用Gitea推送到HEXO博客仓库,最终效果如图所示。
部署步骤
推荐使用1Panel进行部署,具体步骤如下:
- 在1Panel中安装Gitea,确保安装MySQL,版本根据服务器性能选择(夜梦用的是5.6)并勾选端口对外访问。
- 初始化Gitea,输入站点名称,无域名访问保持默认,以ip:3000访问。
- 初始化完成后,本地使用Git进行操作,上传SSH密钥以避免密码验证。
- 如果遇到SSH连接问题,需修改Gitea的端口设置和app.ini文件,启用rootless Docker-compose部署可简化配置。
通过以上步骤,Gitea已基本设置完成,后续使用与GitHub类似,只需注意配置和安全设置。文章将持续更新,以帮助用户更好地管理和使用Gitea。
❹ windows下如何搭建属于自己的git服务器
搭建Windows下的个人Git服务器,以下为详细步骤:
首先,准备工具:gogs、git、TortoiseGit、nssm。安装Git时,选择自动配置即可。安装TortoiseGit进行菜单化操作,并确保选择中文语言包。
将gogs与nssm解压至固定位置,如C:\installSoftware\GitSever。添加环境变量,将NSSM文件路径添加至系统变量的Path中。进入C:\installSoftware\GitSever\gogs\scripts\windows路径,以管理员身份执行“install-as-service.bat”。在电脑重启后,再次执行此脚本。若gogs服务仍无法启动,可尝试删除注册表键值下的gogs文件夹,重启电脑后再执行“install-as-service.bat”。此步骤完成后,gogs服务应能正常运行。
在浏览器中输入127.0.0.1:3000/访问gogs服务。选择SQLite3作为数据库类型,无需额外安装SQL。点击“安装”,并输入设置的管理账户和密码。登录后,进入gogs首页。
对本地git服务器进行配置:在C:\installSoftware\GitSever\gogs\custom\conf路径下的app.ini文件中,将“START_SSH_SERVER = false”更改为“START_SSH_SERVER = true”。设置服务器仓库路径为“[repository] ROOT = D:/gogs-repositories”。保存文件后,可开始使用Git服务器。
建立个人仓库并进行版本管理。在远端设置仓库,使用Git Bash生成SSH秘钥,并将公钥添加至用户的SSH秘钥设置中。安装TortoiseGit,设置其ssh客户端为ssh.exe。至此,个人Git服务器搭建完成,可进行愉快的版本管理。