如何搭建一台属于自己的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


相关文章
|
26天前
|
前端开发 开发工具 git
如何清理 docker 磁盘空间+修改 Gitea 服务器的 Webhook 设置+前端一些好学好用的代码规范-git hook+husky + commitlint
如何清理 docker 磁盘空间+修改 Gitea 服务器的 Webhook 设置+前端一些好学好用的代码规范-git hook+husky + commitlint
27 5
|
2月前
|
Linux 开发工具 数据安全/隐私保护
搭建 Git 私人服务器完整指南
本文详细介绍了如何从零开始搭建一个私人的 `Git` 服务器。首先,文章解释了 `Git` 的概念及其优势,并阐述了搭建私人 `Git` 服务器的重要性,包括数据隐私、定制化需求及成本效益。接着,文章分步骤指导读者完成服务器的准备工作,包括操作系统、硬件和网络要求。随后,详细介绍了在不同操作系统上安装 `Git` 的方法,并演示了如何创建 `git` 用户、部署仓库以及设置免密登录。此外,还提供了客户端连接远程仓库的具体步骤,包括 Linux 和 Windows 的操作方式。最后,文章探讨了迁移仓库的方法以及搭建 `Git` 服务器的一些进阶选项。
320 0
搭建 Git 私人服务器完整指南
|
3月前
|
开发工具 git iOS开发
服务器配置Huggingface并git clone模型和文件
该博客提供了在服务器上配置Huggingface、安装必要的工具(如git-lfs和huggingface_hub库)、登录Huggingface以及使用git clone命令克隆模型和文件的详细步骤。
240 1
|
5月前
|
Shell 网络安全 开发工具
git实现服务器自动push拉取代码--webhooks
git实现服务器自动push拉取代码--webhooks
467 1
|
6月前
|
JavaScript 持续交付 Go
如何实现Git Push之后自动部署到服务器?
如何实现Git Push之后自动部署到服务器?
190 0
|
网络安全 开发工具 数据安全/隐私保护
|
3月前
|
开发工具 git
【GIT 第二篇章】GIT常用命令
Git常用命令涵盖初始化、状态管理、提交、分支处理、远程操作等关键流程。`git init`启动本地仓库,`git clone`下载远程仓库。通过`git status`和`git diff`检查工作状态与差异。利用`git add`暂存文件,`git commit`保存更改。借助`git branch`、`git checkout`、`git merge`和`git rebase`管理分支。使用`git fetch`、`git pull`和`git push`同步远程仓库。通过`git reset`、`git revert`和`git checkout`实现版本回退。
63 0
|
20天前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
72 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
1天前
|
开发工具 git 开发者
|
1天前
|
开发工具 git 开发者
提升Git效率:掌握这5个高级命令
【10月更文挑战第17天】
8 0