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.mzph.cn/news/754792.shtml

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

相关文章

arm32机器的ubuntu1804的源突然不能update了

换成x86的官方源不行: Hit:1 http://archive.canonical.com/ubuntu bionic InRelease Get:2 http://archive.ubuntu.com/ubuntu bionic InRelease [242 kB] Get:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB] Get:4 http://archive.ubuntu.com/ubu…

GAMES101 学习 2

Lecture 7:Shading 1(lllumination,Shading and Graphics Pipeline) Visibility / occlusion 解决可见性和遮挡的问题 可见性,Z-buffering Z-Buffer 深度缓存 Idea: Store current min. z-value for each sample (pixel)Needs an additi…

python学习3:unittest测试框架初学习

python内置测试框架 unittest(xUnit家族成员 参考JUnit)doctest: 假设被测试目标: def add(a,b):c a breturn c创建一个"test_同名"的文件夹 基本用法 1 创建测试用例 1 定义TestCase的子类 2 定义test_开头的方法 3 在方法…

vue-resource发送请求

导入依赖 终端输入 npm i vue-resource 使用插件 在main.js中应用插件 import Vue from "vue"; import App from "./App.vue" //引入插件 import vueResource from "vue-resource"; //使用插件 Vue.use(vueResource)new Vue({el:#app,render:h…

k8s工作节点主要模块

背景 k8s集群的worker节点作为主要的pod容器的运行节点,其上面有两个非常核心的模块组件,本文就来简单了解下 k8s工作节点主要模块 1.kublet组件,这个组件运行在工作节点上 1.1 它是一个负责这个节点所有pod运行的指挥官的角色&#xff0…

鸿蒙Harmony应用开发—ArkTS声明式开发(绘制组件:Line)

直线绘制组件。 说明: 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 无 接口 Line(value?: {width?: string | number, height?: string | number}) 从API version 9开始,该接…

Twincat实现电机控制

不仅是控制系统的核心部分,而且能够将任何基于PC的系统转换为一个带有PLC、NC、CNC和机器人实时操作系统的实时控制系统。TwinCAT软件在工业自动化领域具有广泛的应用,特别是在机器人关节电机控制方面!!! 在机器人关节电机控制方面,TwinCAT通…

实验三 前端性能优化-CSS优化

仓库地址:bj-front: 前端性能与工程化 - Gitee.com 利用简写CSS属性和CSS浅选择器,贯彻DRY原则,来完成对页面的CSS的优化过程,通过避免不良实践, 以及使用高性能的CSS选择器、flexbox布局引擎和CSS过渡,提…

vue3 新特性defineOptions和defineModel

一、vue3.3 新特性defineOptions 在Vue3.3之前&#xff0c;组件的默认组件名为.vue单文件组件文件的名字&#xff0c;假如我们想修改组件名&#xff0c;则需要结合Options API进行修改。defineOptions的出现解决了这个问题。 这个宏可以用来直接在 <script setup> 中声明…

鸿蒙Harmony应用开发—ArkTS声明式开发(绘制组件:Shape)

绘制组件的父组件&#xff0c;父组件中会描述所有绘制组件均支持的通用属性。 1、绘制组件使用Shape作为父组件&#xff0c;实现类似SVG的效果。 2、绘制组件单独使用&#xff0c;用于在页面上绘制指定的图形。 说明&#xff1a; 该组件从API Version 7开始支持。后续版本如有…

html5播放flv视频

参考&#xff1a;flv-h265 - npmHTML5 FLV Player. Latest version: 1.7.0, last published: 6 months ago. Start using flv-h265 in your project by running npm i flv-h265. There are no other projects in the npm registry using flv-h265.https://www.npmjs.com/packag…

高效备考2025年AMC8竞赛:吃透2000-2024年600道真题(免费送题)

我们继续来随机看五道AMC8的真题和解析&#xff0c;根据实践经验&#xff0c;对于想了解或者加AMC8美国数学竞赛的考生来说&#xff0c;吃透AMC8历年真题是备考更加科学、有效的方法之一。 即使不参加AMC8竞赛&#xff0c;吃透了历年真题600道和背后的知识体系&#xff0c;那么…

【linux】进程间通信1--管道

文章目录 进程间通信是什么&#xff1f;如何做&#xff1f; 管道匿名管道命名管道 进程间通信 是什么&#xff1f; 进程间通信&#xff08;Inter-Process Communication&#xff0c;IPC&#xff09;是指在操作系统中&#xff0c;不同的进程之间进行数据交换、信息传递和同步操…

人事管理系统|基于JSP+ Mysql+Java+ B/S结构的人事管理系统设计与实现(可运行源码+数据库+设计文档)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含java&#xff0c;ssm&#xff0c;springboot的平台设计与实现项目系统开发资源&#xff08;可…

LeetCode 热题 HOT 100(P11~P20)

系列文章&#xff1a; LeetCode 热题 HOT 100(P1~P10)-CSDN博客 LeetCode 热题 HOT 100(P11~P20)-CSDN博客 LC020valid_parentheses . - 力扣&#xff08;LeetCode&#xff09; 题目&#xff1a; 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&…

医疗器械经营许可证办理流程及申请流程有哪些?

1、证书内容差异&#xff1a; 1.医疗器械经营许可证应当载明许可证号码、法定代表人、负责人、住所、经营范围、仓库地址、发证部门、日期及有效期、公司名称等事项。 2.医疗器械生产经营管理注册证书应当载明编号、公司产品名称、法定代表人、住所、经营活动场所、业务发展方…

基于PyTorch的视频分类实战

1、数据集下载 官方链接&#xff1a;https://serre-lab.clps.brown.edu/resource/hmdb-a-large-human-motion-database/#Downloads 百度网盘连接&#xff1a; https://pan.baidu.com/s/1sSn--u_oLvTDjH-BgOAv_Q?pwdxsri 提取码: xsri 官方链接有详细的数据集介绍&#xf…

网络视频播放器|基于JSP技术+ Mysql+Java+ B/S结构的网络视频播放器设计与实现(可运行源码+数据库+设计文档)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含java&#xff0c;ssm&#xff0c;springboot的平台设计与实现项目系统开发资源&#xff08;可…

Windows server 2008 R2 在VMware虚拟机上的安装

Windows server 2008 R2 在VMware虚拟机上的安装 准备工作VMware 新建并配置虚拟机安装和启动Windows server 2008 R2 准备工作 Windows server 2008 R2 ISO镜像的下载&#xff1a;Windows server 2008 R2 ISO VMware 新建并配置虚拟机 第一步&#xff0c;点击新建虚拟机 第…

【洛谷 P9242】[蓝桥杯 2023 省 B] 接龙数列 题解(线性DP)

[蓝桥杯 2023 省 B] 接龙数列 题目描述 对于一个长度为 K K K 的整数数列&#xff1a; A 1 , A 2 , … , A K A_{1},A_{2},\ldots,A_{K} A1​,A2​,…,AK​&#xff0c;我们称之为接龙数列当且仅当 A i A_{i} Ai​ 的首位数字恰好等于 A i − 1 A_{i-1} Ai−1​ 的末位数字…