Gitlab Server
systemctl start postfix
systemctl enable postfix
yum install -y curl openssh-server openssh-clients postfix cronie policycoreutils-python
# gitlab-ce 10.x.x以后的版本需要依赖policycoreutils-python
#curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
#curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
3.安装 Gitlab
#yum 安装
#yum install -y gitlab-ce #Gitlab包下载
#wget https://mirror.tuna.tsinghua.edu.cn/gitlab-ee/yum/el7/gitlab-ee-13.0.6-ee.0.el7.x86_64.rpm
wget https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.0.6-ce.0.el7.x86_64.rpm yum localinstall -y gitlab-ce-13.0.6-ce.0.el7.x86_64.rpm
vim /etc/gitlab/gitlab.rb
#配置域名
external_url 'http://gitlab.precious.com' #配置邮箱
### Email Settings
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = '2370046629@qq.com'
gitlab_rails['gitlab_email_display_name'] = 'gitlab.precious.com' #推送邮箱的时候发送域名链接 ### GitLab email server settings
###! Docs: https://docs.gitlab.com/omnibus/settings/smtp.html
###! **Use smtp instead of sendmail/postfix.**
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "2370046629@qq.com"
gitlab_rails['smtp_password'] = "jpelqyfvphydeaia" #这个是授权码,而不是QQ密码
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true


4.初始化Gitlab服务,启动Gitlab服务
#初始化
gitlab-ctl reconfigure
#启动 重启 停止
gitlab-ctl start | restart | stop | status #PS: 每次修改/etc/gitlab/gitlab.rb文件 都需要重新初始化 gitlab-ctl reconfigure
5.访问Gitlab服务,浏览器访问域名gitlab.precious.com(外网需要做域名解析,内网需要增加hosts文件)用户名为root, 需要自己设置密码

#wget https://gitlab.com/xhang/gitlab/-/tree/12-3-stable-zh/gitlab-12-3-stable-zh.tar.gz
wget https://gitlab.com/xhang/gitlab/-/archive/12-3-stable-zh/gitlab-12-3-stable-zh.tar.gz
tar xf gitlab-12-3-stable-zh.tar.gz
[root@localhost ~]# cat gitlab-12-3-stable-zh/VERSION #查看汉化版本
12.3.5
PS:汉化包最好好gitlab版本一致
[root@localhost ~]# gitlab-ctl stop
[root@localhost ~]# \cp -r gitlab-12-3-stable-zh/* /opt/gitlab/embedded/service/gitlab-rails/
[root@localhost ~]# gitlab-ctl start
- PM(项目主管/项目经理)在gitlab创建任务,分配给开发人员
- 开发人员领取任务后,在本地使用git clone 拉取代码库
- 开发人员创建开发分支(git checkout -b dev),并运行开发
- 开发人员完成之后,提交到本地仓库(git commit)
- 开发人员在gitlab界面上申请分支合并请求(Merge request)
- PM在gitlab上Mark done确认开发完成,并关闭ssue。这一步在提交合并请求可以通过描述中填写"clone #1"等字样,可以直接关闭issue
1.创建组

2.创建项目--->项目隶属于某个组



3.创建用户,设定密码,为用户分配权限
用户:zhansan 开发者





关闭gitlab 注册功能



#Git全局设置(用户/邮箱 自定义)
git config --global user.name "Administrator"
git config --global user.email "admin@example.com" #创建一个新的仓库
git clone http://gitlab.precious.com/python-web/cmdb.git
cd cmdb
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master #推送现有文件夹
cd existing_folder
git init #初始化
git remote add origin http://gitlab.precious.com/python-web/cmdb.git
git add .
git commit -m "Initial commit"
git push -u origin master #推送现有的GIt存储库
cd existing_repo
git remote rename origin old-origin
git remote add origin http://gitlab.precious.com/python-web/cmdb.git
git push -u origin --all
git push -u origin --tags
git remote -v
git remote remove origin
git remote add git@gitlab.precious.com:python-web/cmdb.git #设置SSH 密钥
[root@localhost cmdb]# ssh-keygen
[root@localhost cmdb ~]# cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+UUlpwZQclOr1kn7p0NpjppNJGTxJg1/EWfmcYOWyV0zhsWkP8AZjTnvxZJthOuRrtEQ5dRSoZ383uw/emRnP0xmClqYVhaHvAYm628hmbSmP0B3GjiUbNiE4jwddFSSTS1CLSdfmjt8aoaYUQXRb1IKGjoDNFq+4UGoE3lgL30z6J26DJ3hZG3ogyK6nmZ2vZcu/PnySYkAtd69xt/Md7Hl8RvwxF8DpCjw0qkM7C6mAWirfoeRQ6gQON/SiK87Hb1HPafgYprRKQBeXKZgT5Um/l83asrthxKTv0BFvQ/tTtTInYTAmUGB3WKOSZTyHtMyPi15tByKxPrJycAkX root@localhost.localdomain

再次推送代码无需输入密码
git clone git@gitlab.precious.com:python-web/cmdb.git
cd cmdb
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master


Gitlab 备份与恢复
[root@localhost ~]# gitlab-rake gitlab:backup:create
[root@localhost ~]# ls /data/gitlab/backup
1607585880_2020_12_10_13.0.6_gitlab_backup.tar

2.定时计划任务备份 crontal -e 每天凌晨2点进行备份
[root@localhost ~]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
[root@localhost ~]#
[root@localhost ~]# crontab -l
00 02 * * * gitlab-rake gitlab:backup:create &>/dev/null

3.删除GItlab项目,然后进行恢复

如何恢复?
1)停止数据写入服务
[root@localhost ~]# gitlab-ctl stop unicorn
[root@localhost ~]# gitlab-ctl stop sidekiq
ok: down: sidekiq: 0s, normally up 2)通过gitlab-reke 命令进行恢复,恢复时需要指定此前备份的名称。(但不需要写名称的.tar后缀)
[root@localhost ~]# ls /data/gitlab/backup
1607585880_2020_12_10_13.0.6_gitlab_backup.tar
[root@localhost ~]#
[root@localhost ~]# gitlab-rake gitlab:backup:restore BACKUP=1607585880_2020_12_10_13.0.6
需要输入yes 3)为了保险起见,重启gitlab,检测是恢复。
[root@localhost ~]# gitlab-ctl restart 4) 可以查看日志
[root@localhost ~]# gitlab-ctl tail 5)启动数据写入服务
[root@localhost ~]# gitlab-ctl start unicorn
[root@localhost ~]# gitlab-ctl start sidekiq
ok: run: sidekiq: (pid 44399) 304s


恢复后的效果

Gitlab Server的更多相关文章
- linux 搭建gitlab server
以root 身份进行登录linux 1.先安装相关依赖: sudo yum install -y curl policycoreutils-python openssh-server 2.开启SSH开 ...
- Gitlab完美安装【CentOS6.5安装gitlab-6.9.2】
摘要: 拆腾了几天,终于在今天找到了快速安装Gitlab的方法.CentOS6.5安装gitlab-6.9.2 参考网址:https://gitlab.com/gitlab-org/omnibus-g ...
- linux gitlab nginx 安装 配置
更新:bitnami-gitlab 7.8版本后界面发生变化 邮件问题: cd /data/server/gitlab/apps/gitlab/htdocs/config vim environmen ...
- Centos 6 搭建安装 Gitlab
官方安装教程 gitlab / gitlab-ce 官网下载:https://www.gitlab.cc/downloads 官网安装说明:https://doc.gitlab.cc/ce/insta ...
- 基于GitLab的Code Review教程
一.前言 1.本文主要内容 GitLab Code Review机制说明 Git Workflow 与 Git Code Review Workflow GitLab Code Review 配置说明 ...
- 手把手详解持续集成之GitLab CI/CD
一.环境准备 首先需要有一台 GitLab 服务器,然后需要有个项目:这里示例项目以 Spring Boot 项目为例,然后最好有一台专门用来 Build 的机器,实际生产中如果 Build 任务不频 ...
- Gitlab的安装
# GitLab Server 的搭建 参考 https://about.gitlab.com/installation ## 1. 准备工作 以Centos7为例,准备一台至少内存为4G的机器. # ...
- 五、compose 部署 GitLab 应用
1.我们部署的是sameersbn/docker-gitlab这个镜像. docker pull sameersbn/gitlab 2.配置文件,我们不需要去run它,只需要先下载一个compose的 ...
- Gitlab环境快速部署(RPM包方式安装)
之前梳理了一篇Gitlab的安装CI持续集成系统环境---部署Gitlab环境完整记录,但是这是bitnami一键安装的,版本比较老.下面介绍使用rpm包安装Gitlab,下载地址:https://m ...
- CentOS 7 安装配置 Gitlab
centos:http://www.centos.org/download/ download:https://about.gitlab.com/downloads/ update:https://g ...
随机推荐
- 从数据库中读取数据并写入到Excle电子表格之1
//获取数据 using (SqlDataReader reader = Alian_SQL_Helper.SQL_Helper .ExecuteReader( "select CC_Aut ...
- Web网页音视频通话之基于Sipjs
简述 本文是以FreeSwitch作为信令服务器,通过sipjs(基于webRtc) 进行媒体协商,网络协商后,进行P2P媒体传输. 参考知识: sip.js https://sipjs.com/ w ...
- Acunetix使用说明
简述 Acunetix是一种应用安全性扫描工具,旨在帮助发现和修复Web应用程序中的漏洞和安全风险. Acunetix可以发现以下一些常见的安全问题: 跨站脚本攻击(XSS):通过在网页中注入恶意脚本 ...
- C语言变量常量
目录 前言 一.数据类型 1.整形 2.浮点型 3.字符型 二.变量的操作 1.变量的创建 2.变量的使用 2.1 变量的赋值 2.2 变量的加减 2.3 变量的隐式类型转换 2.4 强制类型转换 3 ...
- ElementUi使用el-tooltip实现超出部分显示省略号
效果前: 效果后: 创建myTooltio.vue组件 <template> <div class="tooltip-container"> <el- ...
- 【go语言】1.1.1 Go 语言的历史和背景
Go 语言,也被称为 Golang,是一种静态强类型.编译型的开源编程语言.Go 语言的出现是为了解决当下的软件开发问题,特别是大规模软件系统的开发. Go 语言的设计者包括 Robert Gries ...
- git: failed to push some refs to
错误原因 没有添加readme文件 解决方案 git pull --rebase origin master 至此问题解决
- Log4j的Maven依赖及其配置文件
Maven配置 <!--Log4j依赖文件--> <dependency> <groupId>log4j</groupId> <artifactI ...
- Unity的UnityStats: 属性详解与实用案例
UnityStats 属性详解 UnityStats 是 Unity 引擎提供的一个用于监测游戏性能的工具,它提供了一系列的属性值,可以帮助开发者解游戏的运行情况,从而进行优化.本文将详细介绍 Uni ...
- [kubernetes]二进制部署k8s集群-基于containerd
0. 前言 k8s从1.24版本开始不再直接支持docker,但可以自行调整相关配置,实现1.24版本后的k8s还能调用docker.其实docker自身也是调用containerd,与其k8s通过d ...