Git教程之局域网服务器搭建教程(Gitlab)

2023-05-16

Gitlab局域网服务器搭建教程

  • 简介
  • 在ubuntu服务器上安装Gitlab
  • 安装过程
  • 登入界面
  • 常见问题
    • Group项目push失败(403错误)
    • 如何删除项目

简介

Git是一个程序员必备的版本管理软件,个人使用git用本地库或者github就够了。但是当在实验室或者公司里面需要几个人一起合作开发项目时,空间限制、网速限制、人数限制、功能限制就成了很大的问题,因此在局域网搭建一个小型的git服务器是一个非常适宜的解决方案。

相比于纯命令行的git服务器,有网页客户端图形化管理界面的gitlab是git server非常好的一种选择。Gitlab是由乌克兰程序员 Dmitriy Zaporozhets 和 Valery Sizov 开发,它由 Ruby 写成。现在分成社区版(ce)和企业版(ee)两种。这两者的核心是一样的,大部分功能也是相同的,不过企业版有很好的客服支持,而社区版就自己摸索喽,详细的对比见官网:Giylab各个版本差异。

社区版的Gitlab有以下常用功能:

  • CI/CD,就是任务管理
  • 仓库管理:包括私人/组(内部)/公开三种仓库,
  • 用户管理
  • 组管理,可以管理4级权限用户
  • wiki,支持markdown
  • Project Issue Board,问题跟踪,bug的记录、跟踪和讨论
  • Time Tracking,时间线跟踪(这个我不太懂)
  • Mattermost integration,内建的聊天系统
  • Git LFS,大文件存储技术

在ubuntu服务器上安装Gitlab

由于我们实验室只有ubuntu的服务器,所以这里主要介绍gitlab在Ubuntu下的搭建教程。安装前需要确定以下条件:

  • 你拥有root权限
  • 可以操作服务器,或者可以通过ssh登入服务器
  • 配置需求
    • cpu,1核可以承受100用户,2核承受500用户(推荐),4核2000用户,8核5000用户。。。。。
    • 内存,512MB RAM + 1.5GB交换空间(最低配置),1GB RAM + 1GB交换空间100用户卡顿,2Gb内存100用户(推荐)。。。
    • 可以联网
  • 推荐的操作系统
    推荐操作系统
  • 建议申请一个域名,.cn的一年才70块,首年30,相信大部分实验室都用得起,而且由于服务器在实验室内部,不用备案,哈哈哈哈哈哈哈

安装过程

  1. 登入ssh(或者在服务器上打开终端)
  2. 安装依赖项
sudo apt-get update

sudo apt-get install -y curl openssh-server ca-certificates

sudo apt-get install -y postfix
  1. 添加安装包的地址
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
  1. 设置访问域名并下载安装
//有域名的
sudo EXTERNAL_URL="http://git.example.com" apt-get install gitlab-ce
//没有域名的
sudo apt-get install gitlab-ce

这里的http://git.example.com需要改成自己的申请的域名,并且需要在域名服务商那里设置解析到局域网的那个ip,如果没有域名就可以把前面那段去掉。安装过程极其缓慢,需要下载500多M的东西,百兆到户的别说话。
5. 安装过程无需干预,独立自主进行,正常安装结束时可以看到一个可爱的狐狸头:

foxhead

登入界面

使用域名登入系统,没有域名的可以在本地使用http://127.0.0.1 登入,或者是哟个http://你的IP地址在其他电脑登入。首次登入需要设置root账户的密码,设置完就可以正常使用了。使用前需要先注册账号,然后就可以正常使用了,感觉和小伙伴搞起来把。
gitlabUI

常见问题

Group项目push失败(403错误)

权限分4级,guest,develop,maintain,owner,只有maintain(主管)才可以创建新的分支,develop可以提交到分支。但是!敲黑板,master分支默认处于保护分支,不可以直接push到master分支,只能push到其他分支。

如何删除项目

由于gitlab删除项目的按钮隐藏较深,gitlab又更新频繁,网传的许多方法都是过时的,现在版本的删除方法是在项目里点setting->general->advance->remove project在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git教程之局域网服务器搭建教程(Gitlab) 的相关文章

  • 如何查看 github 的 SSH 密钥?

    我最近收到一封来自 Github 的电子邮件 要求我检查我的 SSH 密钥 请检查您的钥匙并确保您 认出他们 如果您有任何疑问 请拒绝钥匙并 上传新密钥 如何在 ubuntu 11 10 上使用 git 检查我的密钥 您可以按照 GitHu
  • ssh 连接超时

    我无法在 git 中 ssh 到 github bitbucket 或 gitlab 我通常会收到以下错误消息 如何避免它 输出 ssh T email protected cdn cgi l email protection i ssh
  • 无法从我的电脑上使用 traefik 后面的 gitlab 进行 git 克隆

    这是我的 gitlab 和 traefik 配置 version 3 7 services gitlab web image gitlab gitlab ce latest restart always hostname gitlab ro
  • 获取最新远程提交的 SHA1 [重复]

    这个问题在这里已经有答案了 可能的重复 git bash 如何检查是否有新的提交可用 https stackoverflow com questions 6006759 git bash how to check if theres a n
  • Git 扩展 - 无法在 Windows 上推送到网络驱动器中的 git bare 存储库

    我正在 Windows 上学习 git 我已经安装了 Git 扩展 版本 2 47 3 并使用了它 我在我的 C 单元中创建了一个裸存储库 作为中央存储库 并在硬盘中的其他任何位置创建了个人存储库 我对硬盘中的这两个存储库进行提交 推送和拉
  • 是否可以在 git 存储库之外添加和提交文件?

    我们的文本文件分布在系统的各个角落 我们计划将这些文件中所做的所有修改添加到 git 存储库中 每次对这些文件进行修改都是由脚本进行的 因此 我们计划向该脚本添加新命令 以将文件添加到 git 存储库 但是 这些修改是同时进行的 我们可以为
  • Visual Studio Code 内置故事,用于查看 git 提交历史记录并对其内容进行比较

    In this https stackoverflow com questions 37899765 how can i view the git history in visual studio code 60013101 noredir
  • 如何解决 VS Code 中变基拉取的合并冲突?

    当我做一个git pull rebase 并且我的提交中存在合并冲突 我得到冲突差异视图 解决所有冲突并暂存文件 然后呢 我可以打开终端并运行git rebase continue但是 VS Code 中不应该有一个按钮来完成变基吗 只需使
  • 未能将一些参考推送至 [email protected]

    当我尝试推送到 Heroku 存储库时收到此错误 我已经设置了autocrlf false在gitconfig中 但这个问题仍然存在 我也尝试过这个解决方案here https stackoverflow com questions 566
  • 如何生成类似github的影响图?

    是否有一些程序 或者我错过的一些神奇的 git 插件 可以从 git 存储库获取影响图或类似的东西 而无需通过 github 就数据收集而言 我可以生成图表 我不确定从哪里开始编写自己的代码 我假设有一些标志我可以传递给 git log 来
  • 为什么“git描述-dirty”在描述干净结帐时添加“-dirty”后缀?

    我刚刚发现 dirty选项git describe看起来它应该做一些非常有用的事情 即在输出中附加一个后缀git describe当工作树脏时 但是在我的一些存储库上似乎并非如此 git status On branch 8 30 noth
  • GIT 和 Ruby:如何从 ruby​​ 脚本内部取消设置 GIT_DIR 变量?

    我编写了一个非常简单的 部署 脚本作为我的post update挂钩到我的裸 git 存储库中 变量如下 live domain mydomain com staging domain stage mydomain com git repo
  • http.h:6:23: 致命错误:curl/curl.h:没有该文件/目录

    我在 CentOS 7 中下载 git 包 wget https www kernel org pub software scm git git 2 0 1 tar gz tar xzf git 2 0 1 tar gz 当我编译git时
  • 合并 BPM 图表的最佳实践

    我们在 Java 环境中使用 Alfresco 活动图 这些图是有版本的 我们确实使用 GIT 我们经常会遇到合并分支的合并冲突 解决这个问题确实很痛苦 因为我们必须比较文件的文本内容来检查差异 有时 重新应用更改比合并更轻松 是否有合并此
  • 如何让 git 显示作者日期指定日期范围内的提交?

    显然this https stackoverflow com a 11189286 281545 git log all after
  • 如何获取 git 存储库中所有文件的计数?

    如何获取 git 存储库中当前所有文件的计数 您可以使用以下命令获取 git 存储库中所有跟踪文件的计数 git ls files wc l 命令分解 The git ls files命令本身打印出存储库中所有跟踪文件的列表 每行一个 Th
  • 合并后 Git 分支和提交历史记录

    我正在开发一个项目 单独 对于我开发的每个功能 我都会创建一个新分支 处理该功能 然后将其合并到 master 中 所以通常我不会同时在两个不同的分支上工作 也不会在一个分支上工作时接触master 当我合并一个分支时 我看到 使用gitx
  • VS Code 在交互式变基期间不会等待我 [重复]

    这个问题在这里已经有答案了 如果我使用交互式变基git rebase i使用为 Git 配置的默认编辑器 一切都运行良好 如果我在我的全局中添加以下内容 gitconfig core editor C Program Files x86 M
  • 删除 Xcode 项目的源代码控制

    我在 Xcode 项目上使用源代码控制已经有一段时间了 但现在我不想使用源代码控制 如何从 Xcode 中的项目中删除源代码控制 有三种方法 方法 1 将禁用所有项目的源代码管理 方法 2 将删除所有项目的单个存储库的链接 方法 3 将删除
  • 在种子项目上构建时如何组织 git 存储库

    我正在基于从 github 克隆的种子项目 MEAN io 构建一个网站 如何将这些文件与我自己的文件分开 由于该种子提供了广泛的文件框架 因此我自己的文件分布在整个项目中 我希望能够从种子中提取更新 但不能将其与我添加的文件混合 我知道我

随机推荐

  • 大疆无人机-图传技术

    大疆无人机 xff08 航拍器 xff09 遥控连接电脑驱动解决方案 http mini eastday com mobile 160722051432373 html 无人机系列之图传技术https blog csdn net ad360
  • 【2】uC/OS-III应用开发————>启动流程(STM32F767)

    简述 xff1a 上电启动 xff0c 分为三个阶段 CPU内核的初始化 xff0c ARM公司编写 xff0c 所用CPU的 s文件外设模块的初始化OS相关操作的初始化 启动 调度等等系统的启动 上电执行启动文件里面的复位函数Reset
  • Windows11原版镜像

    Windows 11 xff08 企业版 xff09 版本 22H2 xff08 2023年02月发布 xff09 64 位简体中文 文件 xff1a zh cn windows 11 business editions version 2
  • 树莓派操作系统

    树莓派操作系统 树莓派操作系统 介绍更新和升级树莓派操作系统 使用 APT使用 rpi 更新播放音频和视频 OMXPlayer 应用程序如何播放音频如何播放视频播放期间的选项在后台播放使用 USB 网络摄像头 基本用法自动化图像捕获延时拍摄
  • ARM平台FS6818/s5p6818开发板实验7 —— 通过I2C读取MMA8451三轴加速度传感器芯片实现计步器功能的实验

    实验目的 掌握I2C协议的内容 xff0c 了解I2C接口的特点 了解陀螺仪MMA8451的用途及数据采集过程 熟悉s5p6818处理器的I2C配置 xff0c 完成通过I2C读取MMA8451三轴加速度传感器芯片和加速度的改变实现计步功能
  • uC/OS-II 一些细节问题

    最高和最低优先级的任务最好不要使用 xff0c 而用户使用的任务多达56个 xff0c 0表示最高优先级 建立任务的函数有两个 OSTaskCreate OSTaskCreateExt xff08 可设置更多任务细节 xff09 OSSta
  • CubeMX配置FreeRTOS

    01 说在前面 RTOS为了提高任务调度效率一般都包含汇编程序 xff0c 因此移植起来需要一些汇编知识 xff0c 就算网上肯定有移植教程 xff0c 初次搞起来还是挺费劲的 初学时对RTOS代码不熟悉 xff0c 一开始就打击了积极性可
  • 云台控制协议VISCA、PELCO-D、PELCO-P

    1 VISCA部分协议命令 控制 命令 格式 备注 预置点 清除预置点 8X 01 04 3F 00 ZZ FF X 61 1 7 8是广播码 xff0c 下同 xff1b ZZ 61 00 3F xff0c 共64个预置点 设预置点 8X
  • lpms-ig1 IMU使用

    1 xff09 打开网址 https bitbucket org lpresearch lpmsig1opensourcelib 实现1 2 3块编译 2 xff09 给串口 ttyUSB0 赋予权限sudo chmod 777 dev t
  • Vitis AI1.1 系列教程1 - 软件安装

    这里写自定义目录标题 我的安装环境 安装过程在VMware中安装ubuntu 16 04安装Vitis AI几个常见的docker指令 我的安装环境 windows 10VMware 15 5Vitis AI 1 1ubuntu 16 04
  • PX4/Pixhawk - 编译环境搭建

    最近在学习px4的二次开发 xff0c 发现网上的环境搭建教程五花八门 xff0c 大多复杂 xff0c 重重踩坑之后 xff0c 发现还是官方的教程好使 xff0c 总结如下 xff1a 环境准备 采用vmware虚拟机搭建环境系统是ub
  • PX4/Pixhawk 教程 - 任务线程 - workqueue 和 task

    介绍 一个完整的px4的应用程序 xff08 或者叫任务 xff09 分为前台部分和后台部分 xff0c 前台部分是跑在shell任务中的 xff0c 比如helloworld那个程序就只有前台部分 xff0c 敲入指令即可在ssh中运行
  • PX4/Pixhawk 教程 - 可视化参数配置和自启动 - param

    px4常见的设置模块自启动的方式有两种 xff0c 一种是在rx xxx文件中添加需要启动的项 xff0c 另一种是通过yaml参数配置文件 通过添加系统启动项 通过修改系统的启动项实现模块的自启动 xff1a 在px4 ROMFS px4
  • PX4/Pixhawk 教程 - uavcan v1 - libcanard传输层最简例子

    介绍 上一篇主要是介绍libcanard的基础知识和函数 xff0c 比较偏理论一点 xff0c 这一篇呢主要注重于实践 主要解决以下问题 xff1a xff08 1 xff09 如何把uavcan v1编译到default标签 xff08
  • 如何把git的submoudule变为本仓库依赖

    介绍 一些著名的开源项目往往运用了大量的其他submodule xff0c 但是对于嵌入式开发 xff0c 我们希望可以维护一个稳定的完整的仓库 xff0c 因此需要把submodule的外部依赖改成本仓库依赖 步骤 删掉仓库根目录下的 g
  • qgroundcontrol编译环境搭建

    qgc编译环境搭建和编译 qt安装 从官网下载安装程序 http www qt io download open source 给安装程序授权 span class token function chmod span 43 x qt uni
  • STM32F4教程从零开始0——从官网获取固件库

    从大二到现在玩stm32也有两年了 xff0c 估计以后用stm32 的机会不多了 xff0c 所以打算写一系列的教程来纪念一下陪我走过大学时光 xff0c 成为我的科技竞赛重要利器的STM32F4 这系列的教程将用stm32F407VGT
  • STM32F4教程从零开始1——建工程

    今天 xff0c 新买的机械到手 xff0c 很开心 xff0c 用得很爽 xff0c 所以决定再写一篇 xff0c 话说这是我第一次买机械键盘 xff0c 我现在也支持程序员可以没有一个好的电脑 xff0c 但必须有一个好的键盘的说法了
  • '\0'就是 字符串结束标志

    39 0 39 就是 字符串结束标志 比如说 xff0c 把一个字符串赋值给数组 xff1a u8 str1 61 34 cxjr 21ic org 34 实际上数组str1在内存中的实际存放情况为 xff1a c x j r 2 1 i
  • Git教程之局域网服务器搭建教程(Gitlab)

    Gitlab局域网服务器搭建教程 简介在ubuntu服务器上安装Gitlab安装过程登入界面常见问题Group项目push失败 xff08 403错误 xff09 如何删除项目 简介 Git是一个程序员必备的版本管理软件 xff0c 个人使