Gitlab 部署与使用

一、下载并安装 gitlab

安装包下载地址:https://packages.gitlab.com/gitlab/gitlab-ce
rpm 包国内下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/
ubuntu 国内下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/

cd /apps
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/bionic/main/g/gitlab-ce/gitlab-ce_13.12.4-ce.0_amd64.deb
dpkg -i gitlab-ce_13.12.4-ce.0_amd64.deb

二、修改 gitlab 配置文件并初始化 gitlab

vim /etc/gitlab/gitlab.rb
external_url 'http://10.0.0.31'
# 可选邮件通知设置
gitlab_rails['smtp_enable'] = true 
gitlab_rails['smtp_address'] = "smtp.qq.com" 
gitlab_rails['smtp_port'] = 465 
gitlab_rails['smtp_user_name'] = "891506240@qq.com" 
gitlab_rails['smtp_password'] = "ublihkwaxcaibebf" 
gitlab_rails['smtp_domain'] = "qq.com" 
gitlab_rails['smtp_authentication'] = :login 
gitlab_rails['smtp_enable_starttls_auto'] = true 
gitlab_rails['smtp_tls'] = true 
gitlab_rails['gitlab_email_from'] = "891506240@qq.com" 
user["git_user_email"] = "891506240@qq.com"

# 修改完配置文件要执行此操作
gitlab-ctl reconfigure 

初始化完成
在这里插入图片描述
gitlab 相关的目录

/etc/gitlab #配置文件目录 
/run/gitlab #运行 pid 目录 
/opt/gitlab #安装目录
/var/opt/gitlab #数据目录 
/var/log/gitlab #日志目录

三、验证端口80是否开启,并登录 gitlab web 界面

root@ubuntu1804:/apps# lsof -i:80
COMMAND   PID       USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   47523       root    7u  IPv4 126089      0t0  TCP *:http (LISTEN)
nginx   47524 gitlab-www    7u  IPv4 126089      0t0  TCP *:http (LISTEN)
nginx   47525 gitlab-www    7u  IPv4 126089      0t0  TCP *:http (LISTEN)

user:root
passwd:12345678
在这里插入图片描述

四、gitlab web 界面设置中文

在这里插入图片描述

五、gitlab 常用命令

gitlab-ctl 服务相关命令行操作行

gitlab-ctl stop       #停止 gitlab
gitlab-ctl start      #启动 gitlab
gitlab-ctl restar     #重启 gitlab
gitlab-ctl status     #查看组件运行状态
gitlab-ctl tail nginx #查看某个组件的日志
gitlab-ctl --help     #查看帮助

gitlab-rails 用于启动控制台进行特殊操作,比如修改管理员密码、打开数据库控制台( gitlab-rails dbconsole)等

gitlab-rails dbconsole

gitlab-psql 数据库命令行

root@s1:~# gitlab-psql
gitlabhq_production=# \db

gitlab-rake 数据备份恢复等数据操作

六、关闭账号注册功能

在这里插入图片描述

七、解决邮箱注册失败,实现事件触发

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

八、创建账户 Users

Users-账号,针对的是开发或者使用gitlab的用户(人员)
Groups-组、业务,针对的是公司里面的一个业务
Projects-项目、服务,针对是一个业务中的多个服务
在这里插入图片描述
在这里插入图片描述
此时账号还没有密码,需要登录邮箱去设置密码
或者
在gitlab的编辑上也可以更改密码
在这里插入图片描述
user:lck
passwd:12345678
在这里插入图片描述

九、重新设置密码

在这里插入图片描述
通过邮件重置用户密码
在这里插入图片描述

十、创建组 Groups

在这里插入图片描述
在这里插入图片描述
已成功创建组
在这里插入图片描述

十一、将用户添加到组

在这里插入图片描述
在这里插入图片描述

十二、创建一个测试项目页面

登陆账号 laomao 密码 12345678
在这里插入图片描述
创建一个空的project
在这里插入图片描述
填写项目路径,项目名称
在这里插入图片描述
在Linux上输入以下命令或者点击“New file”也是可以的
在这里插入图片描述
点击“New file”,创建文件名为 .gitignore
在这里插入图片描述
再点击“New file”,创建文件名为 index.html
在这里插入图片描述
在这里插入图片描述

十三、git 客户端测试 clone 项目

在这里插入图片描述

root@ubuntu1804:~# git config --global user.name "laomao"
root@ubuntu1804:~# git config --global user.email "laomao@qq.com"
root@ubuntu1804:~# git clone http://10.0.0.31/lcklck/app1.git

十四、客户端编辑文件并测试提交

root@ubuntu1804:~# cd app1/
root@ubuntu1804:~/app1# vim index.html
<h1>v111</h1>
<h1>v222</h1>

# 把该项目整个文件放入暂存区
root@ubuntu1804:~/app1# git add .
# 查看git状态,会提示有变更的文件
root@ubuntu1804:~/app1# git status
On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

	modified:   index.html
	
# 将文件提交到本地仓库,-m 是注释提交内容,更改了什么bug
root@ubuntu1804:~/app1# git commit -m "v2 version"
[master 1b55c84] v2 version
 1 file changed, 1 insertion(+)

# 推送到gitlab仓库
root@ubuntu1804:~/app1# git push
Username for 'http://10.0.0.31': laomao
Password for 'http://laomao@10.0.0.31':
Counting objects: 3, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 290 bytes | 290.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To http://10.0.0.31/lcklck/app1.git
   9ac013b..1b55c84  master -> master

推送完成之后,去仓库查看文件是否变更
在这里插入图片描述
在这里插入图片描述

十五、Windows客户端、凭据管理

URL:http://git-scm.com/
打开 git-bash 程序
第一次push文件会记住密码,保存在 控制面板—>凭据管理器—>windows凭据—> 普通凭据
如果gitlab账号密码更改,需要在凭据里面删除

十六、gitlab 使用

16.1 数据保方式

SVN 与 CVS:每次提交的文件都单独保存,即按照文件的提交时间区分不同的版本,保存至不同 的逻辑存储区域,后期恢复的时候直接基于之前版本恢复。
在这里插入图片描述
Gitlab: Gitlab 与 SVN 的数据保存方式不一样,gitlab 虽然也会在内部对数据进行逻辑划分保存,但是当后期提交的数据如果和之前提交过的数据没有变化,其就直接快照之前的 文件,而不是在将文件重新上传一份在保存一遍,这样既节省了空间又加快了代码提 交速度。
在这里插入图片描述

16.2 git 缓存区与工作区等概念

工作区:clone 的代码或者开发自己编写的代码文件所在的目录,通常是代码所在的一 个服务的目录名称。
暂存区:用于存储在工作区中对代码进行修改后的文件所保存的地方,使用 git add 添 加。
本地仓库:用于提交存储在工作区和暂存区中改过的文件地方,使用 git commit 提交。
远程仓库:多个开发共同协作提交代码的仓库,即 gitlab 服务器。
在这里插入图片描述

16.3 常用 git 命令

在这里插入图片描述

git config --global user.name “name“ #设置全局用户名 
git config --global user.email xxx@xx.com #设置全局邮箱 
git config --global --list #列出用户全局设置 
git add index.html / . #添加指定文件、目录或当前目录下所有数据到暂存区 
git commit -m “11“ #提交文件到工作区 
git status #查看工作区的状态 
git push #提交代码到服务器 
git pull #获取代码到本地 
git log #查看操作日志 
vim .gitignore #定义忽略文件上传至 gitlab 
git reset --hard HEAD^^ #git 版本回滚, HEAD 为当前版本,加一个^为上一个,^^为上上一个版本
git reflog #获取每次提交的 ID,可以使用--hard 根据提交的 ID 进行版本回退 
git reset --hard 5ae4b06 #回退到指定 id 的版本
git branch #查看当前所处的分支
git checkout -b develop #创建并切换到一个新分支
git checkout develop #切换分支

十七、gitlab 数据备份恢复

17.1 停止 gitlab 数据服务

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

17.2 手动备份数据

gitlab-rake gitlab:backup:create #在任意目录即可备份当前 gitlab 数据
gitlab-ctl start #备份完成后启动 gitlab

17.3 查看要恢复的文件

/var/opt/gitlab/backups/ # Gitlab 数据备份目录,需要使用命令备份的
/var/opt/gitlab/nginx/conf #nginx 配置文件
/etc/gitlab/gitlab.rb #gitlab 配置文件
/etc/gitlab/gitlab-secrets.json #key 文件

ll /var/opt/gitlab/backups/ 
total 408 
drwx------ 4 git root 4096 Jul 17 10:42 ./ 
drwxr-xr-x 20 root root 4096 Jul 17 10:11 ../ 
-rw------- 1 git git 92160 Jul 17 10:20 1563330030_2019_07_17_11.11.5_gitlab_backup.tar 
-rw------- 1 git git 92160 Jul 17 10:23 1563330216_2019_07_17_11.11.5_gitlab_backup.tar
-rw------- 1 git git 92160 Jul 17 10:30 1563330647_2019_07_17_11.11.5_gitlab_backup.tar 
-rw------- 1 git git 92160 Jul 17 10:32 1563330751_2019_07_17_11.11.5_gitlab_backup.tar

17.4 执行恢复

删除一些数据,测试能否恢复

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq #恢复数据之前停止服务
gitlab-rake gitlab:backup:restore BACKUP=备份文件名

确认恢复数据
在这里插入图片描述
在这里插入图片描述

17.5 启动服务

gitlab-ctl start sidekiq
gitlab-ctl start unicorn

十八、gitlab 汉化

18.1 下载语言包替换

https://gitlab.com/xhang/gitlab/-/archive/v12.3.5-zh/gitlab-v12.3.5-zh.tar.gz 
https://gitlab.com/xhang/gitlab/-/archive/v11.11.5-zh/gitlab-v11.11.5-zh.tar
https://gitlab.com/xhang/gitlab/-/archive/v11.9.8-zh/gitlab-v11.9.8-zh.tar 
https://gitlab.com/xhang/gitlab

在这里插入图片描述

# 首次安装 gitlab 步骤 
vim /etc/gitlab/gitlab.rb #修改配置 
gitlab-ctl reconfigure 

# 已经安装 gitlab 步骤
gitlab-ctl stop
tar xvf gitlab-vX.Y.Z-zh.tar
cp -rp /opt/gitlab/embedded/service/gitlab-rails /opt/gitlab-rails.bak #备份源文件
cp -rf gitlab-vX.Y.Z-zh/* /opt/gitlab/embedded/service/gitlab-rails/ #替换文件
gitlab-ctl reconfigure
gitlab-ctl start

Web 界面更改语言在这里插入图片描述

18.2 通过源码汉化

汉化包地址:https://gitlab.com/xhang/gitlab

gitlab-ctl stop 
git clone https://gitlab.com/xhang/gitlab.git 
head -1 /opt/gitlab/version-manifest.txt #查看当前 gitlab 版本 
cd gitlab 
git diff v11.9.8 v11.9.8-zh
git diff v12.3.5 v12.3.5-zh
git diff v11.9.8 v11.9.8-zh > /root/v11.9.8-zh.diff
gitlab-ctl stop 
patch -f -d /opt/gitlab/embedded/service/gitlab-rails -p1 < /root/v11.9.8-zh.diff
gitlab-ctl reconfigure
gitlab-ctl start

v11.11.8 汉化效果
在这里插入图片描述
v.12.2.8 汉化效果
在这里插入图片描述
V12.3.5:汉化效果
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值