文章目录
- 一、下载并安装 gitlab
- 二、修改 gitlab 配置文件并初始化 gitlab
- 三、验证端口80是否开启,并登录 gitlab web 界面
- 四、gitlab web 界面设置中文
- 五、gitlab 常用命令
- 六、关闭账号注册功能
- 七、解决邮箱注册失败,实现事件触发
- 八、创建账户 Users
- 九、重新设置密码
- 十、创建组 Groups
- 十一、将用户添加到组
- 十二、创建一个测试项目页面
- 十三、git 客户端测试 clone 项目
- 十四、客户端编辑文件并测试提交
- 十五、Windows客户端、凭据管理
- 十六、gitlab 使用
- 16.1 数据保方式
- 16.2 git 缓存区与工作区等概念
- 16.3 常用 git 命令
- 十七、gitlab 数据备份恢复
- 17.1 停止 gitlab 数据服务
- 17.2 手动备份数据
- 17.3 查看要恢复的文件
- 17.4 执行恢复
- 17.5 启动服务
- 十八、gitlab 汉化
- 18.1 下载语言包替换
- 18.2 通过源码汉化
一、下载并安装 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:汉化效果