灌篮少年 发表于 2024-7-27 13:15:20

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/
https://i-blog.csdnimg.cn/blog_migrate/bb93af894816b485c33b02419246f00a.png开始利用root登录,密码藏在/etc/gitlab目次一个设置文件下(找找就有了,这个文件在运行24小时后会被删除)
sudo cat initial_root_password
https://i-blog.csdnimg.cn/blog_migrate/522ca61aae25f4fa06e12dbc17c0b158.png
(7)设置中文

https://i-blog.csdnimg.cn/blog_migrate/1dcb6815a82bdde0eb201938428ec35a.png
Tip:想要设置中文,新建的账号才会见效
(8)修改git数据存放位置

  /etc/gitlab$ sudo vi gitlab.rb
git_data_dirs({
"default" => {
    "path" => "/home/gitlab_ws"
}
})
至此,gitlab就大功告成了,git 咋用就不展开了,点这里常用下令 git_gitdeng-CSDN博客
 二、repo的利用

"repo" 下令通常用于管理 Android 项目的多个 Git 堆栈。它是 Google 为了方便 Android 平台的开辟者而开辟的一个工具,用于处来由多个 Git 堆栈构成的复杂项目。
以下是一些常用的 "repo" 下令:

[*] repo init:用于初始化一个新的 repo 项目。通常会指定 manifest 文件的 URL,并根据 manifest 文件的内容初始化 Git 堆栈。
[*] repo sync:用于将当前工作目次中的 Git 堆栈与远程堆栈同步。它会拉取最新的代码并应用到本地堆栈。
[*] repo start:在一个或多个 Git 堆栈上启动一个新的分支。
[*] repo abandon:放弃当前分支的开辟,不再跟踪它的提交历史。
[*] repo upload:将本地分支的提交上传到 Gerrit 或其他代码审查工具,以便进行代码审查。
[*] 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 的文件提交到堆栈中

https://i-blog.csdnimg.cn/blog_migrate/4d7ddc4d81738659dc2d335b049068b4.png
我这创建的是 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
  https://i-blog.csdnimg.cn/blog_migrate/4700a1809cd4c15c5aa87afdfc48d30f.png
(3)将 repo 下令拷贝到研发服务器的  /usr/local/bin/repo

4、创建 manifest 堆栈

5、构建 default.xml,并将文件上传到 manifest 堆栈中

https://i-blog.csdnimg.cn/blog_migrate/7a475a83471c56a643644a63715540ab.png
我这里偷了个懒,搞个脚本给我天生,遍历目次,主动创建
6、gitlab 创建好群组

https://i-blog.csdnimg.cn/blog_migrate/6f67987cfa154d7d079b15ea42355479.png
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~

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Ubuntu 搭建gitlab服务器,及利用repo管理