ubuntu18.04 下搭建 git、gitlab 和 svn 服务端

本文详细介绍了如何在Ubuntu系统中安装和配置Git服务端,包括创建仓库、提交和推送操作。接着,逐步解析了GitLab服务端的搭建过程,包括安装、配置和优化步骤。最后,讲解了SVN服务端的安装与权限设置,确保用户可以顺利访问和管理仓库。
摘要由CSDN通过智能技术生成

一. git 服务端

1.1 更新软件包

sudo apt-get update -y sudo apt-get upgrade -y

1.2 安装git-all

sudo apt install git-all $ git --version git version 2.17.1

1.3 配置

//增加一个git用户 
sudo useradd git 
//切换到git用户 
sudo su git 
//切换到git目录 
cd /home/git

1.4 git 新建仓库

git init --bare /home/git/仓库名.git

1.5 新增文件

git add file_name

1.6 本地提交

//提交所有改动的文件 
git commit -a

1.7 远程提交

git push origin master

1.8 本地更新

git pull

 

 

###################################分隔符#####################################

 

二. gitlab 服务端搭建

2.1 安装必须的一些服务

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

安装postfix时,使用左右键和回车键选择确定、取消,弹出列表选项的时候,选择 Internet Site

2.2 信任gitlab 的GPG 公钥

curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null

2.3 配置软件源为清华镜像地址

sudo vim /etc/apt/source.list.d/gitlab-ce.list

写入:

deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu bionic main

注意:

bionic -> 对应ubuntu 18.04 LTS 版本

xenial -> 对应ubuntu 16.04 LTS 版本

2.4 安装

i. 直接安装,之前需要再次更新

sudo apt-get update 
sudo apt-get install gitlab-ce

ii. 官方脚本安装

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash

iii. 上面的安装方式还是会很慢,不如直接官网下载.deb 安装包安装

官网地址:

https://packages.gitlab.com/gitlab/gitlab-ce

选择.deb安装包,并且对应ubuntu版本为bionic

点开,可以看到安装方式

下拉选择,wget方式

即:

wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/bionic/gitlab-ce_13.11.4-ce.0_amd64.deb/download.deb

等待几分钟(八九百Mb),下载完成后,直接安装.deb包

sudo dpkg -i gitlab-ce_13.11.4-ce.0_amd64.deb

2.5 gitlab 配置

i. 一般配置(无效)

修改gitlab配置文件

sudo vim /etc/gitlab/gitlab.rb

在 vim 命令方式下使用 ":/" 查找指定字符串,“n”往下查询,“N”往上查询,如:

:/external_url

查询到指定行,改为:

external_url "http://你的服务端ip"

同理,port部分,改为:

unicorn ['port'] = 8088

ii. 经测试,上述修改port方法没有效果,需要如下修改

修改gitlab 配置文件如下

external_url "http://ip(或域名):port" 
... 
ngix ['listen_port'] = port

2.6 加载配置,使gitlab配置生效

sudo gitlab-ctl reconfigure

很慢,时间有点长,等待中...几分钟

2.7 重启服务

sudo gitlab-ctl restart sudo gitlab-ctl start/stop

2.8 查看gitlab当前状态

sudo gitlab-ctl status

2.9 将gitlab配置为开机自启动服务

systemctl enable/disable gitlab-runsvdir.service

 

扩展

1. gitlab 默认安装路径是 /var/opt/gitlab;

2. 第6步,重载配置时,可能会导致卡主,卡主处理如下:

提示无法启动,runsv no running

i 先尝试启动该服务

systemctl start gitlab-runsvdir.service

ii 查看系统服务项

systemctl -t target

如果系统服务正常的话,提示应该是"loaded active active",如果存在"inactive dead" 项,则意味着某些服务出错了

uploading.4e448015.gif转存失败重新上传取消

如提示

multi-user.target loaded inactive dead start Multi-User System

iii 查看系统任务列表

systemctl list-jobs

如存在某个任务是running 的状态,则是该任务阻塞了其它所有服务

1 graphical.target                           start waiting 
107 plymouth-quit-wait.service               start running 
2 multi-user.target                          start waiting 
169 ureadahead-stop.timer                    start waiting 
121 gitlab-runsvdir.service                  start waiting 
151 system-getty.slice                       start waiting 
31 setvtrgb.service                          start waiting 
122 systemd-update-utmp-runlevel.service     start waiting

iv 结束该任务

systemctl stop plymouth-quit-wait.service

v 关闭/启动该服务

systemctl mask plymouth-quit-wait.service   //关闭任务 
systemctl unmask plymouth-quit-wait.service //开启任务

3. 查看开机自启动服务占用时间

systemd-analyze blame

4. 查看依赖的服务,几乎是所有服务,并没有影响启动时间

systemctl list-dependencies --reverse plymouth-quit-wait.service

 

###################################分隔符#####################################

 

 

三. SNV 服务端

3.1 安装

sudo apt-get update sudo apt-get install subversion 
$ svnserve --version 
svnserve 版本 1.9.7(r1800392)

3.2 创建默认仓库目录

sudo mkdir -p /usr/svn/svnrep 
cd /usr/svn 
sudo chmod 777 -R /usr/svn/svnrep

3.3 创建SVN仓库

svnadmin create /usr/svn/svnrep 
cd /usr/svn/svnrep

3.4 对db 进行权限设置

sudo chmod 777 -R db/

3.5 设置访问权限

cd conf 
vim /usr/svn/svnrep/conf/svnserve.conf

改为

#anon-access = read (匿名用户可读,可改成none,即不可读)

#auth-access = write (权限用户可写)

#password-db = passwd (密码文件为passwd)

#authz-db = authz (权限文件为authz)

去掉前面的#,并且顶格,不然会报错

uploading.4e448015.gif转存失败重新上传取消

修改passwd 文件,添加访问用户

sudo vim /usr/svn/svnrep/conf/passwd

uploading.4e448015.gif转存失败重新上传取消

修改authz 文件,设置用户权限

sudo vim /usr/svn/svnrep/conf/authz

admin = guoke //用户guoke属于admin权限组

[repository:/]

@admin = rw //admin权限组的权限是读和写

* = rw 所有的组都具有读权限和写权限

uploading.4e448015.gif转存失败重新上传取消

 

6. 启动

svnserve -d -r /usr/svn 
//或者,更改默认监听端口 
svnserve --listen-port=8899 -d -r /usr/svn

-d: 表示后台运行

-r: 指定服务器根目录

 

扩展

查看是否启动成功

ps -ef|grep svnserve ps aux|grep svnserve

开机自启动,将启动脚本添加人

sudo vim /etc/rc.local

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值