如何搭建一台属于自己的Git服务器?

本文涉及的产品
云防火墙,500元 1000GB
简介: 在日常生活中,有很多开发组织在开发的时候大部分都会将代码提交到自己的Git服务器上,即公司内部的Git代码仓库;那很多小伙伴会问如果自己也想要一台属于自己的Git服务器该怎么办呢?接下来就是解开谜题的时候…

关注公众号:【程序猿香蕉】,有更多精彩内容等着你呢~

 在日常生活中,有很多开发组织在开发的时候大部分都会将代码提交到自己的Git服务器上,即公司内部的Git代码仓库;那很多小伙伴会问如果自己也想要一台属于自己的Git服务器该怎么办呢?接下来就是解开谜题的时候…          

我们安装的Git服务器以GitBlit为基准,这里事先说明

一、安装JDK(这里我们安装的是JDK 17)

查看是否安装jdk

rpm -qa | grep jdk

下载JDK的RPM包

wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm

安装jdk(将jdk安装到/usr/java文件夹下)

rpm -ivh jdk-17_linux-x64_bin.rpm > /usr/java

编辑/etc/profile文件,加入以下代码

#JAVA环境变量
export JAVA_HOME=/usr/java/jdk-17.0.4.1
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib

使java环境生效

source /etc/profile

判断jdk是否安装成功,是否是当前安装版本

  java -version

二、安装GitBlit(当前GitBlit版本为1.9.1)

下载GitBlit安装包,在这里小编已经给大家准备好了

https://miracle-1306318206.cos.ap-shanghai.myqcloud.com/public/gitblit-1.9.1.tar.gz

使用wget下载安装包

wget https://miracle-1306318206.cos.ap-shanghai.myqcloud.com/public/gitblit-1.9.1.tar.gz

gitblit-1.9.1.tar.gz移动到/usr/local文件夹中

mv gitblit-1.9.1.tar.gz /usr/local/

解压gitblit-1.9.1.tar.gz

tar -zxvf gitblit-1.9.1.tar.gz

gitblit-1.9.1文件夹命名为gitblit

mv gitblit-1.9.1 gitblit

进入/usr/local/gitblit/data,并修改defaults.properties文件,将server.httpPort的值改为10099

cd gitblit-1.9.1/data
vim defaults.properties
server.httpPort = 10099

进入/usr/local/gitblit文件夹,修改路径配置

cd /usr/local/gitblit

根据自己的服务器的系统内核,选择修改对应的文件,我当前的系统内核是Linux,所以选择service-centos.sh文件修改

vim service-centos.sh

根据自己的安装路径修改下面的配置GITBLIT_HTTP_PORT是我们到时候访问gitblit仓库的接口

GITBLIT_PATH=/usr/local/gitblit
GITBLIT_BASE_FOLDER=/usr/local/gitblit/data
GITBLIT_HTTP_PORT=10099
GITBLIT_HTTPS_PORT=8443
GITBLIT_LOG=/usr/local/gitblit/log/gitblit.log

修改完成之后,gitblit我们就安装成功了,接下来就是启动

切换到/usr/local/gitblit文件夹

./gitblit.sh

我们也可以选择后台启动,这个时候当前目录会生成一个日志文件

nohup ./gitblit.sh &

接下来我们就得将端口开放,即上面我们设置的GITBLIT_HTTP_PORT的端口,可以使用IP+端口访问,如果访问成功则部署成功,如果无法访问,可能是端口未开或者是防火墙未关闭

1.开放端口

如果是远程服务器,则可以在线上防火墙开启端口;

如果是本地服务器,那么按照如下步骤操作:

#查看防火墙状态
systemctl status firewalld.service
#停止防火墙
systemctl stop firewalld.service
#永久关闭防火墙
systemctl disable firewalld.service
#关闭SELinux安全机制
vim /etc/selinux/config
#找到并修改: 
SELINUX=disabled
#需要重启系统:
reboot


相关文章
|
3月前
|
前端开发 开发工具 git
如何清理 docker 磁盘空间+修改 Gitea 服务器的 Webhook 设置+前端一些好学好用的代码规范-git hook+husky + commitlint
如何清理 docker 磁盘空间+修改 Gitea 服务器的 Webhook 设置+前端一些好学好用的代码规范-git hook+husky + commitlint
44 5
|
4月前
|
Linux 开发工具 数据安全/隐私保护
搭建 Git 私人服务器完整指南
本文详细介绍了如何从零开始搭建一个私人的 `Git` 服务器。首先,文章解释了 `Git` 的概念及其优势,并阐述了搭建私人 `Git` 服务器的重要性,包括数据隐私、定制化需求及成本效益。接着,文章分步骤指导读者完成服务器的准备工作,包括操作系统、硬件和网络要求。随后,详细介绍了在不同操作系统上安装 `Git` 的方法,并演示了如何创建 `git` 用户、部署仓库以及设置免密登录。此外,还提供了客户端连接远程仓库的具体步骤,包括 Linux 和 Windows 的操作方式。最后,文章探讨了迁移仓库的方法以及搭建 `Git` 服务器的一些进阶选项。
752 0
搭建 Git 私人服务器完整指南
|
5月前
|
开发工具 git iOS开发
服务器配置Huggingface并git clone模型和文件
该博客提供了在服务器上配置Huggingface、安装必要的工具(如git-lfs和huggingface_hub库)、登录Huggingface以及使用git clone命令克隆模型和文件的详细步骤。
437 1
|
7月前
|
Shell 网络安全 开发工具
git实现服务器自动push拉取代码--webhooks
git实现服务器自动push拉取代码--webhooks
596 1
|
8月前
|
JavaScript 持续交付 Go
如何实现Git Push之后自动部署到服务器?
如何实现Git Push之后自动部署到服务器?
240 0
|
2天前
|
机器学习/深度学习 人工智能 PyTorch
阿里云GPU云服务器怎么样?产品优势、应用场景介绍与最新活动价格参考
阿里云GPU云服务器怎么样?阿里云GPU结合了GPU计算力与CPU计算力,主要应用于于深度学习、科学计算、图形可视化、视频处理多种应用场景,本文为您详细介绍阿里云GPU云服务器产品优势、应用场景以及最新活动价格。
阿里云GPU云服务器怎么样?产品优势、应用场景介绍与最新活动价格参考
|
1天前
|
存储 运维 安全
阿里云弹性裸金属服务器是什么?产品规格及适用场景介绍
阿里云服务器ECS包括众多产品,其中弹性裸金属服务器(ECS Bare Metal Server)是一种可弹性伸缩的高性能计算服务,计算性能与传统物理机无差别,具有安全物理隔离的特点。分钟级的交付周期将提供给您实时的业务响应能力,助力您的核心业务飞速成长。本文为大家详细介绍弹性裸金属服务器的特点、优势以及与云服务器的对比等内容。
|
9天前
|
人工智能 JSON Linux
利用阿里云GPU加速服务器实现pdf转换为markdown格式
随着AI模型的发展,GPU需求日益增长,尤其是个人学习和研究。直接购置硬件成本高且更新快,建议选择阿里云等提供的GPU加速型服务器。
利用阿里云GPU加速服务器实现pdf转换为markdown格式
|
8天前
|
开发框架 缓存 .NET
阿里云轻量应用服务器、经济型e、通用算力型u1实例怎么选?区别及选择参考
在阿里云目前的活动中,价格比较优惠的云服务器有轻量应用服务器2核2G3M带宽68元1年,经济型e实例2核2G3M带宽99元1年,通用算力型u1实例2核4G5M带宽199元1年,这几个云服务器是用户关注度最高的。有的新手用户由于是初次使用阿里云服务器,对于轻量应用服务器、经济型e、通用算力型u1实例的相关性能并不是很清楚,本文为大家做个简单的介绍和对比,以供参考。
|
16天前
|
弹性计算 运维 安全
阿里云轻量应用服务器与ECS的区别及选择指南
轻量应用服务器和云服务器ECS(Elastic Compute Service)是两款颇受欢迎的产品。本文将对这两者进行详细的对比,帮助用户更好地理解它们之间的区别,并根据自身需求做出明智的选择。