Ubuntu 搭建gitlab服务器,及使用repo管理

一、GitLab安装与配置

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。

1、安装Ubuntu系统(这个教程很多,就不展开了)。

2、安装gitlab社区版本,有需要的可以使用专业版(收费的,我是个人使用就按社区版)

(1)安装相关依赖:
sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates tzdata perl
(2)配置 GitLab 软件源镜像源:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
(3)安装 gitlab-ce:
sudo apt-get install gitlab-ce
(4)配置 gitlab:
sudo vi /etc/gitlab/gitlab.rb
第一个修改点:配置外部访问ip地址

例如:external_url 'http://192.168.8.181:8888'

第二个修改点:配置ssh(Tip:这个不配置的话可能出现仓库地址没有ssh://及对应端口号)
配置ssh端口号:
gitlab_rails['gitlab_shell_ssh_port'] = 8889
gitlab_rails['gitlab_shell_git_timeout'] = 800
打开 gitlab-sshd:
gitlab_sshd['enable'] = true
gitlab_sshd['listen_address'] = '[::]:8889'
重新加载配置:
sudo gitlab-ctl reconfigure
(5)启动 gitlab:
# 启动服务
sudo gitlab-ctl start# 重启
sudo gitlab-ctl restart# 停止服务
sudo gitlab-ctl stop# 配置开机自启动
sudo systemctl enable gitlab-runsvdir.service# 取消配置开机自启动
sudo systemctl disenable gitlab-runsvdir.service
(6)登录 gitlab:

通过external_url的地址进入,我这边是http://192.168.8.181:8888/

开始使用root登录,密码藏在/etc/gitlab目录一个配置文件下(找找就有了,这个文件在运行24小时后会被删除)

(7)配置中文

Tip:想要配置中文,新建的账号才会生效

至此,gitlab就大功告成了,git 咋用就不展开了,点这里常用命令 git_gitdeng-CSDN博客

 二、repo的使用

"repo" 命令通常用于管理 Android 项目的多个 Git 仓库。它是 Google 为了方便 Android 平台的开发者而开发的一个工具,用于处理由多个 Git 仓库组成的复杂项目。

以下是一些常用的 "repo" 命令:

  1. repo init:用于初始化一个新的 repo 项目。通常会指定 manifest 文件的 URL,并根据 manifest 文件的内容初始化 Git 仓库。

  2. repo sync:用于将当前工作目录中的 Git 仓库与远程仓库同步。它会拉取最新的代码并应用到本地仓库。

  3. repo start:在一个或多个 Git 仓库上启动一个新的分支。

  4. repo abandon:放弃当前分支的开发,不再跟踪它的提交历史。

  5. repo upload:将本地分支的提交上传到 Gerrit 或其他代码审查工具,以便进行代码审查。

  6. repo forall:对 repo 项目中的所有 Git 仓库执行相同的操作。

目的:将 repo 本地化,并通过 gitlab 管理 Android 源码
1、获取 git-repo 代码
git clone https://gerrit-googlesource.proxy.ustclug.org/git-repo.git
2、在 gitlab 上新建一个项目(仓库),并将 git-repo 的文件提交到仓库中

我这创建的是 ssh://git@192.168.8.181:8889/android-repo/git-repo.git

3、修改repo命令
(1)将REPO_URL改成我们构建的仓库地址:
REPO_URL = "ssh://git@192.168.8.181:8889/android-repo/git-repo"
(2)关闭 repo 源校验

  将 --no-repo-verify 的 default 改为 False

  

(3)将 repo 命令拷贝到研发服务器的  /usr/local/bin/repo
4、创建 manifest 仓库
5、构建 default.xml,并将文件上传到 manifest 仓库中

我这里偷了个懒,搞个脚本给我生成,遍历目录,自动创建

6、gitlab 创建好群组

Tip:如果构建了二级目录仓库,同意要在该群组基础上构建子群组。 

7、构建仓库,并上传代码

(1)可以手动创建仓库,在界面点击创建项目就行,太累手了,不推荐

(2)命令创建,通过 git 命令构建远端仓库

git init
git checkout -b main
git remote add origin ssh://git@192.168.8.181:8889/android-code/art.git
git add .
git commit -m "Initial commit"
git push -u origin main

Android 代码太多了,需要构建的仓库太多了,有个脚本构建就nice了

8、使用 repo 获取代码
repo init -u ssh://git@192.168.8.181:8889/android-code/manifest.git
repo sync

完成,Enjoy~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/278764.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

车载电子电器架构 - 网络拓扑

车载电子电器架构 - 网络拓扑 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师 (Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎么看自己。江湖一碗茶,喝完再挣扎,出门靠…

学习笔记Day11:初探Linux

Linux系统初探 Linux系统简介 发行版本Ubuntu/centOS,逻辑一样,都可以用。 服务器 本质是一台远程电脑,大多数服务器是Linux系统,通常使用命令行远程访问而不是桌面操作。LInux服务器允许多用户同时访问。NGS组学测序数据上游…

使用树莓派 结合Python Adafruit驱动OLED屏幕 显示实时视频

关于OLED屏幕的驱动,在之前我已经写过很多篇博文: IIC 协议 和 OLED_oled iic-CSDN博客 香橙派配合IIC驱动OLED & 使用SourceInsight解读源码_香橙派5 驱动屏幕-CSDN博客 这两篇博文都是通过模拟或调用IIC协议来使用C语言驱动OLED屏幕,现…

【Linux】进程---概念---进程---优先级

主页:醋溜马桶圈-CSDN博客 专栏:Linux_醋溜马桶圈的博客-CSDN博客 gitee:mnxcc (mnxcc) - Gitee.com 目录 1.操作系统(Operator System) 1.1 概念 1.2 设计OS的目的 1.3 定位 1.4 如何理解 "管理" 1.5 总结 1.6 系统调用和…

数据可视化-ECharts Html项目实战(3)

在之前的文章中,我们学习了如何创建堆积折线图,饼图以及较难的瀑布图并更改图标标题。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢。 …

主存中存储单元地址的分配

主存中存储单元地址的分配 为什么写这篇文章? 因为我看书中这部分时,看到下面的计算一下子没反应过来: 知识回顾(第1章) 计算机系统中,字节是最小的可寻址的存储单位,通常由8个比特(bit&…

OpenCV 单目相机标定

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 单目相机的标定过程与双目相机的标定过程很类似,具体过程如下所述: 1、首先我们需要获取一个已知图形的图像(这里我们使用MATLAB所提供的数据)。 2、找到同名像点(匹配点),这里主要是探测黑白格子之间的角点…

鸿蒙Harmony应用开发—ArkTS声明式开发(画布组件:Canvas)

提供画布组件,用于自定义绘制图形。 说明: 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 不支持。 接口 Canvas(context?: CanvasRenderingContext2D) 从API version 9开始&…

huawei services HK华为云服务

huaweiserviceshk是一种云计算服务,为华为云服务用户提供了多种服务,包括云服务器、数据库、存储、网络等,用户可以根据自己的需求选择不同的服务并支付相应的费用 如何付费呢,这里可以使用441112,点击获取 卡片信息在…

机器人可反向驱动能力与力控架构

反向驱动性是电机传动系统的机械特性,它描述了运动是否可以轻松反转 。特别是,反向驱动能力取决于两个因素:传动运动效率和整体执行器机械阻抗。反向运动中传动装置的低运动效率意味着所施加的外力的大部分被运动反作用力抵消。然而&#xff…

24 OpenCV直方图反向投影

文章目录 参考反向投影作用calceackProject 反向投影mixchannels 通道图像分割示例 参考 直方图反向投影 反向投影 反向投影是反映直方图模型在目标图像中的分布情况简单点说就是用直方图模型去目标图像中寻找是否有相似的对象。通常用HSV色彩空间的HS两个通道直方图模型 作用…

Unity PS5开发 天坑篇 之 DEVKit环境部署与系统升级02

上一篇各位大神们已经收到了SONY官方免费寄送的PS5开发机与测试机,恭喜大家成为SONY的开发者, 本篇继续PS5开发机的部署与开发套件使用。 一, PC安装PS5 SDK与系统升级 1. PC/PS5 SDK Manager下载安装包 登录开发者账号后,Development->Resources&a…

Android 开发环境搭建(Android Studio 安装图文详细教程)

Android Studio 下载 https://developer.android.google.cn/studio?hlzh-cn Android Studio 安装 检查电脑是否启用虚拟化 如果没有开启虚拟化,则需要进入电脑的 BIOS 中开启 直接 next选择安装的组件,Android Studio 和 Android 虚拟设备&#xff…

【MLLM+轻量多模态模型】24.02.Bunny-v1.0-2B-zh: 轻量级多模态语言模型 (效果一般)

24.02 北京人工智能研究院(BAAI)提出以数据为中心的轻量级多模态模型 arxiv论文:2402.Efficient Multimodal Learning from Data-centric Perspective 代码:https://github.com/BAAI-DCAI/Bunny 在线运行:https://wis…

【GDB Debugger】新手快速入门学习笔记

文章目录 前言第一讲 什么是GDB第二讲 搭建实验环境第三讲 快速开始第四讲 举例说明如何查看变量信息——print、step第五讲 使用GDB的技巧(只在此展开观察点)第六讲 调试core文件(针对UNIX,程序崩溃时)第七讲 调试一个…

如何搭建“Docker Registry私有仓库,在CentOS7”?

1、下载镜像Docker Registry docker pull registry:2.7.1 2、运行私有库Registry docker run -d -p 5000:5000 -v ${PWD}/registry:/var/lib/registry --restartalways --name registry registry:2.7.1 3、拉取镜像 docker pull busybox 4、打标签,修改IP&#x…

uniapp可视范围高度 - 用户屏幕可操作的屏幕高度 - 适用于APP、H5@公众号、纯H5@Chrome

可视范围高度 let heightPx uni.getWindowInfo().windowHeight uni.getWindowInfo().windowTop 官方手册 uni.getWindowInfo() | uni-app官网uni-app,uniCloud,serverless,uni.getWindowInfo()https://uniapp.dcloud.net.cn/api/system/getWindowInfo.html 实测数据 uni.ge…

BI让数据分析不在困难,分解企业数据分析流程

一、数据培养 数据分析最关键的是什么?其实从名字上就可以看出来,数据是一切的关键,没有数据的话数据分析从何谈起呢。但数据的积累不是一天两天就能成功的,企业的一定要有培养数据的意识,在业务活动中沉淀数据&#…

开源堡垒机Jumpserver

开源堡垒机Jumpserver 文章目录 开源堡垒机Jumpserver1 Jumpserver介绍2 Jumpserver部署用户管理资产创建账号管理模板添加 用户组管理权限管理远程连接免密连接 1 Jumpserver介绍 Jumpserver 是全球首款完全开源的堡垒机,使用 GNU GPL v2.0 开源协议,是…

《论文阅读》EmpDG:多分辨率交互式移情对话生成 COLING 2020

《论文阅读》EmpDG:多分辨率交互式移情对话生成 COLING 2020 前言简介模型架构共情生成器交互鉴别器损失函数前言 亲身阅读感受分享,细节画图解释,再也不用担心看不懂论文啦~ 无抄袭,无复制,纯手工敲击键盘~ 今天为大家带来的是《EmpDG: Multi-resolution Interactive E…