gitlab安装基本运维

一、gitlab安装

  • 安装gitlab服务所需依赖包
[root@localhost ~]# yum -y install curl postfix policycoreutils-python openssh-server wget
  • 下载gitlab,安装gitlab服务
[root@localhost ~]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.0.3-ce.0.el7.x86_64.rpm
[root@localhost ~]# yum -y localinstall  gitlab-ce-12.0.3-ce.0.el7.x86_64.rpm
  • 配置gitlab、访问域名及邮箱

[root@localhost ~]# vim /etc/gitlab/gitlab.rb
external_url 'http://gitlab.ddytest.com'
配置邮箱
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'dingdongya@codyy.com'  收件箱地址
gitlab_rails['gitlab_email_display_name'] = 'dingdongya'    收件人显示名称

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.codyy.com"      发件服务器
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "dingdongya@codyy.com"  发件人地址
gitlab_rails['smtp_password'] = "Abc123!"                发件人密码
gitlab_rails['smtp_domain'] = "codyy.com"                域名
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
关闭prometheus
prometheus['enable'] = flase
  • 初始化gitlab服务,启动gitlab服务
[root@localhost ~]# gitlab-ctl reconfigure
[root@localhost ~]# gitlab-ctl stop|start|status|restart 停止|启动|查看|重启 gitlab进程(可以更单个进程)
[root@localhost ~]# gitlab-ctl status
run: alertmanager: (pid 20905) 84s; run: log: (pid 20535) 173s
run: gitaly: (pid 20838) 86s; run: log: (pid 19944) 305s
run: gitlab-monitor: (pid 20837) 86s; run: log: (pid 20377) 191s
run: gitlab-workhorse: (pid 20819) 87s; run: log: (pid 20268) 217s
run: grafana: (pid 20929) 83s; run: log: (pid 20724) 117s
run: logrotate: (pid 20311) 206s; run: log: (pid 20325) 203s
run: nginx: (pid 20289) 212s; run: log: (pid 20306) 209s
run: node-exporter: (pid 20829) 87s; run: log: (pid 20357) 199s
run: postgres-exporter: (pid 20920) 84s; run: log: (pid 20575) 167s
run: postgresql: (pid 20058) 301s; run: log: (pid 20071) 300s
run: prometheus: (pid 20873) 86s; run: log: (pid 20490) 179s
run: redis: (pid 19892) 314s; run: log: (pid 19902) 311s
run: redis-exporter: (pid 20859) 86s; run: log: (pid 20406) 187s
run: sidekiq: (pid 20241) 224s; run: log: (pid 20250) 223s
run: unicorn: (pid 20212) 230s; run: log: (pid 20233) 229s

#ps:每次修改/etc/gitlab/gitlab.rb文件,都需要gitlab-ctl reconfigure
  • 访问gitlab服务,及gitlab邮箱测试
  • 汉化gitlab
下载汉化地址https://gitlab.com/xhang/gitlab

二、gitlab基本操作

git安装

yum -y install git

查看版本

git --version

通常配置git,只需要配置你是谁,你的邮箱是什么。

[root@codyy91-102 ~]# git config --global user.name "xxx"
[root@codyy91-102 ~]# git config --global user.email "xxx@email.com"
[root@codyy91-102 ~]# git config --global color.ui true  可以不配置

创建本地仓库

[root@codyy91-102 ~]# mkdir demo
[root@codyy91-102 ~]# cd demo/
[root@codyy91-102 demo]# git init

如何提交目录文件至本地仓库

[root@codyy91-102 demo]# touch file1 flie2 file3
[root@codyy91-102 demo]# git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   file1
#   file3
#   flie2
nothing added to commit but untracked files present (use "git add" to track)

提交至缓存区

[root@codyy91-102 demo]# git add .
[root@codyy91-102 demo]# git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#   new file:   file1
#   new file:   file3
#   new file:   flie2
#

提交至git仓库

[root@codyy91-102 demo]# git commit -m "新增文件"
3 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 file1
 create mode 100644 file3
 create mode 100644 flie2
[root@codyy91-102 demo]# git status
# On branch master
nothing to commit, working directory clean

git如何改名提交至git仓库

[root@codyy91-102 demo]# git mv file1 flie
[root@codyy91-102 demo]# git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   renamed:    file1 -> flie
#
[root@codyy91-102 demo]# git commit -m "..."
[master 61bf37f] ...
 Committer: 2286416140@qq.com <root@codyy91-102.host.com>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:

    git config --global user.name "Your Name"
    git config --global user.email you@example.com

After doing this, you may fix the identity used for this commit with:

    git commit --amend --reset-author

 1 file changed, 0 insertions(+), 0 deletions(-)
 rename file1 => flie (100%)

比较本地文件与暂存区文件的区别

[root@codyy91-102 demo]# echo "123456" > file3 
[root@codyy91-102 demo]# git diff file3 
diff --git a/file3 b/file3
index e69de29..9f358a4 100644
--- a/file3
+++ b/file3
@@ -0,0 +1 @@
+123456

比较暂存区与本地仓库文件内容的区别

[root@codyy91-102 demo]# git diff --cached file3 
diff --git a/file3 b/file3
index e69de29..9f358a4 100644
--- a/file3
+++ b/file3
@@ -0,0 +1 @@
+123456

如何理解commit提交操作

相当于对文件做了一个快照

  • 查看历史git commit快照操作

[root@codyy91-102 demo]# git log
commit d97984e8322ded51d97ed2bd77782cce7da52e6e
Author: 2286416140@qq.com <root@codyy91-102.host.com>
Date:   Sat Aug 22 10:32:04 2020 +0800

    123

commit 61bf37f5b474c18fa73aa0f5fdb3a7fbd96ad172
Author: 2286416140@qq.com <root@codyy91-102.host.com>
Date:   Sat Aug 22 10:09:36 2020 +0800

    ...

commit d4a669f21a242300d9ce927b37a07b297ccfd12d
Author: 2286416140@qq.com <root@codyy91-102.host.com>
Date:   Sat Aug 22 10:03:35 2020 +0800

[root@codyy91-102 demo]# git log --oneline
d97984e 123
61bf37f ...
d4a669f 新增文件

文件误操作清空内容,如何回退

[root@codyy91-102 demo]# > file3 
[root@codyy91-102 demo]# cat file3 
[root@codyy91-102 demo]# git checkout file3 
[root@codyy91-102 demo]# cat file3 
123456
[root@codyy91-102 demo]# 

本地文件误操作提交至暂存区,如何回退

本地仓库--覆盖--暂存区--本地文件

[root@codyy91-102 demo]# > file3 
[root@codyy91-102 demo]# 
[root@codyy91-102 demo]# 
[root@codyy91-102 demo]# git add .
[root@codyy91-102 demo]# 
[root@codyy91-102 demo]# 
[root@codyy91-102 demo]# 
[root@codyy91-102 demo]# git reset HEAD file3 
Unstaged changes after reset:
M   file3
[root@codyy91-102 demo]# git checkout file3 
[root@codyy91-102 demo]# 
[root@codyy91-102 demo]# 
[root@codyy91-102 demo]# cat file3 
123456
[root@codyy91-102 demo]# 

如果多次提交本地仓库,需要回退至某个版本

[root@codyy91-102 demo]# git log --oneline
d97984e 123
61bf37f ...
d4a669f 新增文件
[root@codyy91-102 demo]# git reset --hard d97984e
HEAD is now at d97984e 123

git reflog 查看所有操作的快照记录

查看分支

[root@codyy91-102 demo]# git branch
* master

新建分支

[root@codyy91-102 demo]# git branch dev
[root@codyy91-102 demo]# git branch 
  dev
* master

切换分支

[root@codyy91-102 demo]# git checkout dev
Switched to branch 'dev'
[root@codyy91-102 demo]# git branch 
* dev
  master

合并master

[root@codyy91-102 demo]# git checkout dev
Switched to branch 'dev'
[root@codyy91-102 demo]# git merge master -m "合并到master"
Updating d97984e..c7a3947
Fast-forward (no commit created; -m option ignored)
 file4 | 0
 file5 | 0
 file6 | 0
 3 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 file4
 create mode 100644 file5
 create mode 100644 file6

分支功能测试完成后,切换回master,合并分支内容

[root@codyy91-102 demo]# git checkout master
Switched to branch 'master'
[root@codyy91-102 demo]# git merge dev
Already up-to-date.

删除分支

[root@codyy91-102 demo]# git branch dev -d
Deleted branch dev (was c7a3947)

合并分支冲突

手动修改冲突部分(开发),然后master合并分支。

git 标签

标签的作用

标签容易被记住,方便回退

[root@codyy91-102 demo]# git tag -a "v1.0(自行定义)" -m "发布的第一版" 打标签
[root@codyy91-102 demo]# 
[root@codyy91-102 demo]# 
[root@codyy91-102 demo]# git tag   查看标签
v1.0(自行定义)
[root@codyy91-102 demo]# git show tag   查看描述
fatal: ambiguous argument 'tag': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
[root@codyy91-102 demo]# git show
commit c7a394748d23b22ea0be8b2529e10c83e4ce5176
Author: 2286416140@qq.com <root@codyy91-102.host.com>
Date:   Sat Aug 22 15:26:48 2020 +0800

    new 4-6

diff --git a/file4 b/file4
new file mode 100644
index 0000000..e69de29
diff --git a/file5 b/file5
new file mode 100644
index 0000000..e69de29
diff --git a/file6 b/file6
new file mode 100644
index 0000000..e69de29

以某个commitid打标签

[root@codyy91-102 demo]# git tag -a "v2.0" d97984e -m "描述信息"

删除tag

 git tag -d v2.0

三、gitlab用户组、项目关系

[图片上传失败...(image-e512fc-1598247990853)]

  • git用户、用户组、项目配置

    1. 创建组
    2. 创建项目--->项目隶属于某个组
    3. 创建用户,设定密码,为用户分配组

四、gitlab备份恢复

  1. 备份

    1)修改配置文件,启用备份
    [root@localhost ~]# vim /etc/gitlab/gitlab.rb
    gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"    备份路径
    gitlab_rails['backup_keep_time'] = 604800                  备份保留时间7天
    2)重新加载配置
    [root@localhost ~]# gitlab-ctl  reconfigure
    3)手动执行备份命令,会将备份的结果存储至“/var/opt/gitlab/backups(自己设置的备份路径)”中
    [root@localhost ~]# gitlab-rake gitlab:backup:create
    4)查看备份的文件
    [root@localhost ~]# ll /var/opt/gitlab/backups/
    total 132
    -rw------- 1 git git 133120 Aug 23 17:06 1598173586_2020_08_23_12.0.3_gitlab_backup.tar
    
    
  2. 恢复

    1)停止数据库写入
    [root@localhost ~]# gitlab-ctl stop unicorn
    [root@localhost ~]# gitlab-ctl stop sidekiq
    2)通过gitlab-rake命令进行恢复,恢复时需要指定备份的名称(只需要到版本号,其他不需要)
    [root@localhost ~]# gitlab-rake gitlab:backup:restore BACKUP=1598173586_2020_08_23_12.0.3
    Do you want to continue (yes/no)?   (输入yes)
    Do you want to continue (yes/no)?   (输入yes)
    3)重启gitlab服务
     [root@localhost ~]# gitlab-ctl restart
    
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,163评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,301评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,089评论 0 352
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,093评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,110评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,079评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,005评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,840评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,278评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,497评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,394评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,980评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,628评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,649评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,548评论 2 352

推荐阅读更多精彩内容