从0开始的GITLAB服务器搭建与操作

从0开始的GITLAB服务器搭建与操作

此处所使用搭建的服务器为Ubuntu20.04,代码编写的客户端也为Ubuntu

一、准备程序XShell与Xftp配置

Xshell和Xftp的搭建主要是为了远程使用shell去操作服务器,如果已经配置过xshell或者使用向日葵,ToDesk等软件进行远程控制的可以直接进行下一步。

1、windows上下载xshell与xftp

​ xshell与xftp只能在windows上下载,这里我选择在个人电脑上进行xshell下载。

​ 下载地址:https://www.xshell.com/zh/free-for-home-school/,这里可以下载免费版的Xshell与Xftp,之后正常安装即可。

2、配置XShell与Xftp

​ 1、在你的xshell与xftp正常启动后,会有窗口跳出来,选择左上角的新建然后新建一个会话。
会话

​ 2、在会话中设置不同的别名(名称),用于进行对不同会话主机的区分,在主机这部分中输入主机的IP或者URL,比如192.168.1.1,端口号可以自己设置也可以默认。
会话设置
​ 3、点击用户身份验证,输入服务器的用户名和密码,然后链接即可,后续需要保存密钥,点击接受并保存。
密码验证

​ 4、Xftp和Xshell的配置方法一样,在Xshell中有Xftp的图标可以直接调用Xftp传输文件。

​ 5、在链接到服务器可以使用xshell操作之后进行GitLab的配置

二、GitLab服务器搭建

GitLab是一款功能强大的自托管Git仓库管理工具,支持代码托管、持续集成和部署等功能。而且虽然是作为企业管理服务器是需要付费的,但是如果我们自己使用可以使用个人版,可以说非常好用。

配置git连接(服务器和客户端都需要配置)

​ gitlab与git密切相关,所以需要先配置好git然后在进行gitlab配置

1、更新你的ubuntu系统然后安装git:
sudo apt update
sudo apt upgrade
sudo apt install git
2、创建git用户:并且按照提示设置用户密码和信息
sudo adduser git
3、切换到git用户,并创建一个用于存储Git仓库的目录:
su - git
mkdir repos
cd repos
BUG解决:git 不在 sudoers 文件中。此事将被报告。

要将Git用户添加到sudoers文件中,以便能够使用sudo命令,请按照以下步骤操作:

su root
usermod -G sudo git
cat /etc/group | grep sudo

即可看见git的名字,然后也可以继续验证:

su - git
sudo -l
4、创建裸仓库:(bare repository)是没有工作区的仓库,适用于中央存储
git init --bare your_project.git
5、设置SSH访问权限

​ 为了让其他用户能够通过SSH访问Git服务器,需要设置SSH访问权限。首先在Git用户的主目录中创建.ssh目录:

mkdir ~/.ssh
chmod 700 ~/.ssh
#添加密钥
nano ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

​ 将其他用户的SSH公钥添加到authorized_keys文件中。公钥的格式通常是:

ssh-rsa AAAAB3... user@example.com
6、获取SSH密钥

​ 让其他用户在他们的机器上生成一个SSH密钥对。如果他们已经有一个密钥对,可以跳过这一步。生成密钥对的命令如下:

#生成密钥
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
#查看密钥
cat ~/.ssh/id_rsa.pub

​ 让用户发送完整的密钥给你,然后将密钥添加到文件当中,将公钥内容粘贴到文件末尾。每个公钥应占一行。然后让用户连接到Git服务器确保配置正确:

ssh git@your_server_ip

​ 然后就可以直接进行连接,如果连接后的窗口有git字样,则说明连接成功。

7、其他说明:

​ 1、查看ip:ip a

​ 2、成功连接服务器后,会出现以下提示“

Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-47-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

Last login: Wed Oct  6 12:34:56 2021 from 192.168.1.100
git@server:~$

GitLab安装

1、依赖项安装:
sudo apt update
sudo apt upgrade -y
sudo apt install -y curl openssh-server ca-certificates tzdata perl

​ 如果您需要GitLab发送邮件通知,可以安装Postfix:sudo apt install -y postfix

2、安装GitLab

​ 添加GitLab的官方仓库并下载安装脚本:

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

​ 安装GitLab CE(Community Edition):这个版本仅用于个人项目托管或小团队项目管理,是免费的。

sudo gitlab-ctl reconfigure

​ 安装完成后,配置并启动GitLab:

sudo gitlab-ctl reconfigure
通过安装包安装gitLab

1、远程下载GitLab包:

wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/xenial/gitlab-ce_16.10.6-ce.0_amd64.deb/download.deb

​ 下载不了的可以访问

https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/buster/gitlab-ce_16.10.6-ce.0_amd64.deb

​ 在右上角的Download中下载,或者去上级网站中选择需要的版本号。

​ 然后安装包dpkg -i gitlab-ce_16.10.6-ce.0_amd64.deb

2、配置GitLab

vim /etc/gitlab/gitlab.rb

​ 修改GitLabURL:这里的URL是服务器的URL,然后端口可以自己设置,从这个端口登陆可以定向到配置好的GitLab。

##  GitLab URL 
##! URL on which GitLab will be reachable. 
##! For more details on configuring external_url see: 
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab 
external_url 'http://192.168.1.1:8000'

这里的external_url为自己服务器的URL和自己设置的端口。

​ 重新配置GitLab:sudo gitlab-ctl reconfigure

​ 配置防火墙允许通过端口访问:

sudo ufw allow 8000/tcp
sudo ufw reload

​ 如果在重新配置GitLab地方出错,必须关闭所有git进程和shell,关闭你的Xshell、Xftp,查询并杀死进程,然后可以在向日葵上通过远程控制重新配置GitLab:

​ 查询进程:ps -u git,杀死进程:sudo kill <process_id>

配置GitLab

​ 进入GitLab,在浏览器输入你的URL,即可看见GitLab的登陆界面,一般的管理员权限是服务器的密码和root进行登陆,登陆不了可以尝试修改账户和密码:
登陆界面

​ 在安装GitLab时,初始管理员密码会被保存到/etc/gitlab/initial_root_password文件中。这个文件默认会在首次重配置后的24小时内被删除。如果该文件仍然存在,可以查看它来获取初始密码。

sudo cat /etc/gitlab/initial_root_password

​ 也可以重置:

sudo gitlab-rails runner "user = User.find_by_username('root'); user.password = 'new_password'; user.password_confirmation = 'new_password'; user.save!"

​ 这样就没问题了,如果有问题可以重新配置一下sudo gitlab-ctl reconfigure

GitLab权限配置

1、管理员审批

1、登录到GitLab

​ 使用管理员账户登录到您的GitLab实例。访问您配置的GitLab URL(例如 http://192.168.1.1:8000),然后输入管理员用户名和密码进行登录。

2、进入管理员区域

​ 登录成功后,点击页面右上角的头像,然后选择“Administrator”。
管理员

​ 然后点击右上角Edit profile旁边的人物小图标进入管理区域(Admin Area)
管理区域

3、审核新用户

在“Admin Area”中,您可以看到需要审核的新用户注册请求。具体步骤如下:
点击“Users”
users

​ 在“Admin Area”仪表盘中,找到并点击“Users”选项。这将显示所有用户列表。

4、查看待审核的用户

​ 在用户列表中,您可以看到状态为“Blocked”或“Pending Approval”的用户。这些用户是新注册的,等待管理员审核。
审核
5、批准或拒绝用户

​ 点击待审核用户旁边的编辑按钮,在用户详情页面,您可以看到“Actions”部分,选择“Approve”以批准用户注册,或选择“Reject”以拒绝用户注册。

6、配置用户权限

如果需要,您还可以进一步配置用户的权限,例如将他们添加到特定的组或项目,并为他们设置相应的访问权限。

​ 1、添加用户到组:

​ 在“Admin Area”或项目页面中,找到并点击“Groups”。

​ 选择您希望用户加入的组。

​ 在组页面,点击“Group Members”。

​ 输入用户的用户名或电子邮件地址,选择合适的访问级别(Owner、Maintainer、Developer、Reporter、Guest),然后点击“Add to group”。

​ 2、添加用户到项目:

​ 在“Admin Area”或项目页面中,找到并点击“Projects”。

​ 选择您希望用户参与的项目。

​ 在项目页面,点击“Project Members”。

​ 输入用户的用户名或电子邮件地址,选择合适的访问级别,然后点击“Add to project”。

2、项目创建

​ 登录到GitLab,在首页,点击“New Project”按钮,选择“Create blank project”,输入项目名称、描述(可选)和可见性级别(Public、Internal或Private),点击“Create project”。

三、GitLab在vscode上的配置(客户端配置)

先确保在客户端的电脑上配置了git,配置方法在上文

安装配置插件:GitLab Workflow

1、安装GitLab Workflow插件

​ 打开VS Code。

​ 进入扩展视图(Ctrl+Shift+X)。

​ 搜索并安装GitLab Workflow

2、配置GitLab Workflow插件
1、基础信息配置

​ 点击插件图标,一般为列表最后一个小狐狸图标,第一次点击进入,点击Add Count会出现输入URL和访问令牌(Token)的提示。在输入框里第一次会让你输入URL,第二次会让你输入Token。
将服务器的URL和生成的令牌写入即可。

生成GitLab访问令牌

​ 登录到您的GitLab账户。

​ 点击左上角的头像,选择“edit profile”。

​ 在左侧菜单中选择“Access Tokens”。
令牌
​ 创建一个新的访问令牌,确保勾选“api”和“read_user”权限。
令牌设置
复制生成的令牌。
复制
在这里直接复制,这个界面关了就复制不了这次设置的令牌了。

2、本地git仓库初始化

​ 在本地的项目文件下初始化git仓库:git init
这里可以打开vscode里面的终端,自动进入项目文件下,后续都可以在VsCode里面操作。
添加文件并且首次提交:

git add .
git commit -m "Initial commit"

在存在提交的情况下,可以直接进行分支的创建:

git checkout -b your_master_name
#这里起一个团队可以分辨的名字

​ 然后将你的分支推送到远程仓库:

git push -u origin your_master_name

团队协作开发功能操作

开发者分支创建:

1、切换到主分支并拉取最新代码

git checkout main
git pull origin main

2、创建并切换到新功能分支

git checkout -b feature/feature-name

3、开发完成后提交更改:

git add .
git commit -m "Implement feature-name"

4、推送功能到远程仓库

git push origin feature/feature-name

5、其他分支功能

#查看当前分支
git branch
#切换到目标分支(如果不在目标分支上)
git checkout feature-name
#如果分支不存在,请先创建并切换到该分支:
git checkout -b feature-name
#重命名分支
git branch -M new_name
#强制推送
git push -uf origin feature-name
PR代码合并:

​ Pull Request(拉取请求,简称PR)是一种用于在分布式版本控制系统(如Git)中进行代码审查和协作开发的工具。Pull Request 允许开发人员在将代码更改合并到主分支之前进行讨论、审查和测试,以确保代码质量和稳定性。

​ 在GitLab中进行PR操作:

​ 1、进入项目页面:在 GitLab 中打开您的项目页面。

​ 2、创建 Merge Request

​ 点击 Merge Requests 选项卡。
合并
​ 点击 New merge request 按钮。
新建合并
​ 选择 source branchfeature/new-featuretarget branchmain

​ 填写标题和描述信息,详细描述更改的内容和目的。

​ 点击 Create merge request 按钮创建 Pull Request。

​ 3、代码审查与合并

确认合并:在 Pull Request 页面中,点击 Merge 按钮将更改合并到目标分支。

删除功能分支(可选):合并后,可以选择删除已合并的功能分支以保持仓库整洁。

​ 删除远程分支:git push origin --delete branch_name
删除本地分支:git branch -d branch_name
如果该分支尚未被合并,可以使用 -D 选项强制删除:git branch -D branch_name

目前先写到这里,有什么问题可以留言,需要什么功能,后续也会更新教程。

  • 32
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值