当前位置: 首页 > article >正文

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.kler.cn/a/273409.html

相关文章:

  • 浅谈QT中Tab键的切换逻辑
  • 学习虚幻C++开发日志——定时器
  • C++ 详细讲解 洛谷P1428 小鱼比可爱
  • 《Java 实现希尔排序:原理剖析与代码详解》
  • [vulnhub]DC: 1
  • P11233 [CSP-S 2024] 染色 题解
  • 利用textarea和white-space实现最简单的文章编辑器 支持缩进和换行
  • vue使用element-ui 实现自定义分页
  • TT-100K数据集,YOLO格式
  • MR混合现实情景实训教学系统在汽车检修课堂中的应用
  • 汽车电子零部件(8):T_Box
  • vsto excel 插件注册表属性值含义
  • linux学习之Socket
  • 多ip多进程代理的实现方法
  • Github 2024-03-18开源项目日报Top10
  • 动态规划(蓝桥杯 C++ 题目 代码 注解)
  • [TJOI2010] 阅读理解 **STL**Tire树**
  • 003——移植鸿蒙
  • Coursera上Golang专项课程3:Concurrency in Go 学习笔记(完结)
  • LLM 构建Data Multi-Agents 赋能数据分析平台的实践之②:数据治理之一
  • 旋转花键的制造工艺
  • 在ubuntu下安装MQTT 服务
  • 将VSCode添加至右键的菜单栏
  • 使用 Redisson 实现分布式 CountDownLatch,如何使用RCountDownLatch实现内外网数据互通的超时控制?
  • ROS2纯跟踪实现(C++)
  • MYSQL日志 redo_log更新流程 bin_log以及bin_log数据恢复