CentOS搭建GitLab代码管理平台

CentOS搭建GitLab代码管理平台

Gitlab

Gitlab作为一个开源项目开始帮助团队在团建开发上进行合作。通过以业界领先的步伐交付新的功能为整个软件开发和操作生命周期提供了一个单独的应用平台。Gitlab提供了管理、计划、创建、验证、打包、发布、发布、配置、监视和保护应用程序所需的一切。Gitlab是一个基于git实现的在线代码仓库托管软件,一般用于企业、学校等内部网络搭建git私服。Gitlab是一个提供代码托管、提交审核和问题跟踪的代码管理平台。Gitlab分社区版(CE)和企业版(EE)。
Svn github gitlab
配置建议CPU2核心,内存4G及以上

Git gitlab github简单区别

Git是一种基于命令的版本控制系统,全命令操作,没有可视化界面。
Gitlab 是一个基于git实现的在线代码仓库软件,提供web可视化管理界面,通常用于企业团队内部协作开发。
Github 是一个基于git实现的在线代码托管仓库,亦提供可视化管理界面,同时免费账户和提供付费账户,提供开放和私有的仓库,大部分的开源项目都选择github作为代码托管仓库。

服务组成部分

Nginx 静态web服务器
Gitlab-shell 用于处理git命令和修改authorized keys列表(ruby)
Gitlab-workhorse 轻量级反向代理服务器(go)
它会处理一些大的http请求,比如文件上传、文件下载、git push/pull 和git包下载,其他请求会反向代理到gitlab rails应用,即反向代理给后端的unicorn
Logtotate 日志文件管理工具
Postgresql 数据库
Redis 缓存数据库
Sidekiq 用于在后台执行队列任务(异步执行)(ruby)
Unicorn 用ruby编写的一个http服务器,gitlab rails应用是托管在这个服务器上

基础环境

IP 运行内存
192.168.1.10 4G
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.3.0-ce.0.el7.x86_64.rpm

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修改配置文件(默认没有url)
在这里插入图片描述
在这里插入图片描述
写当前主机的域名或ip,域名的情况下需要解析
重新编译(只要修改配置文件,必须执行)
在这里插入图片描述
首次访问需要设置密码
在这里插入图片描述
在这里插入图片描述

Gitlab-ctl start | stop | restart 开启、关闭、重启gitlab
Gitlab-ctl start nginx 启动组件nginx也可以使用stoop……
Gitlab-ctl tail 查看gitlab的所有日志
Gitlab-ctl tail nginx 查看组件nginx的日志
Gitlab-ctl reconfigure 重新编译 修改配置后必须执行
Gitlab-rails console (production) 进入gitlab的shell

日常维护

配置报警邮件
Smpt的方式(调用自己的邮箱发送邮件)—> spring cloud
在这里插入图片描述
Gitlab的发件人
在这里插入图片描述
是否启用smtp的方式
Smtp服务器的地址
Smtp服务器的端口
发送邮件的用户名
邮箱授权码
Smtp服务器的域名
Smtp服务器的授权信息
邮箱安全加密
重新编译
在这里插入图片描述
进入gitlab的shell(检测邮箱配置是否从成功)
在这里插入图片描述
在这里插入图片描述
查看邮箱
在这里插入图片描述

Gitlab备份和恢复

备份
Gitlab所有的数据进行备份
在这里插入图片描述
在这里插入图片描述
备份文件的存放目录
在这里插入图片描述
1575249416_2019_12_02_12.3.0_gitlab_backup.tar
时间戳 日期 版本 每个gitlab包备份的名字

恢复

注意:1 数据备份的时候不产生新的数据(1 服务不能工作(应用管理平台(unicorn)停止)) 2 消息队列的消息停止
在这里插入图片描述
在恢复之前先停止
在这里插入图片描述
在这里插入图片描述
恢复
在这里插入图片描述
在这里插入图片描述

组件开启
在这里插入图片描述

Root用户忘记密码

进入Gitlab的shell环境
在这里插入图片描述
切换用户
在这里插入图片描述
修改密码
在这里插入图片描述
强制保存
在这里插入图片描述

Web界面

添加用户

在这里插入图片描述
添加账户信息
在这里插入图片描述
在这里插入图片描述
Projects limit 当前用户可以创建多少个项目
个人的介绍
在这里插入图片描述
Avatar头像
在这里插入图片描述
在这里插入图片描述
再添加一个用户
在这里插入图片描述
两个用户的email不能一样
创建组
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
将用户添加到组,并分配角色
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
创建项目
在这里插入图片描述
空白项目
在这里插入图片描述
在这里插入图片描述
生成密钥
在这里插入图片描述

[root@localhost ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:o3iqA8smT/j7NDxiJBRGM9uJEsc0X1Pf9IXJ9XkFryE root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
|oO+   o..   ...=+|
|.oOo.. . . o .+o+|
|.+ o.     . E o.+|
|o            . o.|
|. .     S     .  |
|.+ . . . .       |
|oo+ * o          |
|o*.o =           |
|o.==o            |
+----[SHA256]-----+
[root@localhost ~]# cat /root/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOSaCz6a/EsxYdeKN9jYMH8k3tP21yervtPB2jlarGH88IUE+/iKqkTgi65pRU11D56WxRMz3xPILUrU6ohHjPZJpZRbG1Tfpy0ZtYTw6U1+qrsPKYxqHyRp44K0YJnt5gZaHAVpIsC9qIfHfmwo8Looh1e8KcMIJLSu4ZzAr8OgmPML/Xrf70tfMIdcmJqiteMnYusdklr3kVCP8LGP/kEIxdtwkXVNkRgjTaEyBxZuMCneCQZHVgMXBi7Ln2R8PWsu4xOj3AIGeZHjrEU1aLd+GrqEpZhlBYwUXWfbpKtycjiJlDj4VjzsP+Crj7AwM+ADrWsXVdUG2IQwSjkXRD root@localhost.localdomain

复制公钥
在这里插入图片描述
在这里插入图片描述

测试(公钥上传是否成功)
在这里插入图片描述

[root@localhost ~]# ssh -T git@192.168.1.10
The authenticity of host '192.168.1.10 (192.168.1.10)' can't be established.
ECDSA key fingerprint is SHA256:/OtoB97JsQT5QLHo0lPNYm443x1fDWgpw5XAwKmQFeo.
ECDSA key fingerprint is MD5:fe:28:b2:d3:d4:12:02:45:a7:4b:bb:55:77:ce:94:6d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.10' (ECDSA) to the list of known hosts.
Welcome to GitLab, @root!

上传测试

[root@localhost ~]# tar -zxf kgcweb.tar.gz 
[root@localhost ~]# cd kgcweb
[root@localhost kgcweb]# git init
初始化空的 Git 版本库于 /root/kgcweb/.git/
[root@localhost kgcweb]# ls
pom.xml  src
[root@localhost kgcweb]# git config --global user.name "root"
[root@localhost kgcweb]# git config --global user.email "root@kgc.cn"
[root@localhost kgcweb]# git remote add origin git@192.168.1.10:testgroup/kgcweb.git
[root@localhost kgcweb]# git add .
[root@localhost kgcweb]# git commit -m "kgcweb"
[master(根提交) 3dc6d2f] kgcweb
 3 files changed, 33 insertions(+)
 create mode 100644 pom.xml
 create mode 100644 src/main/webapp/WEB-INF/web.xml
 create mode 100644 src/main/webapp/index.jsp
[root@localhost kgcweb]# git push -u origin master
Counting objects: 9, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (9/9), 984 bytes | 0 bytes/s, done.
Total 9 (delta 0), reused 0 (delta 0)
remote: 
remote: 
remote: The private project testgroup/kgcweb was successfully created.
remote: 
remote: To configure the remote, run:
remote:   git remote add origin git@192.168.1.10:testgroup/kgcweb.git
remote: 
remote: To view the project, visit:
remote:   http://192.168.1.10/testgroup/kgcweb
remote: 
remote: 
To git@192.168.1.10:testgroup/kgcweb.git
 * [new branch]      master -> master
分支 master 设置为跟踪来自 origin 的远程分支 master。

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101907.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • cpu流水线工作原理_嵌入式工作原理

    cpu流水线工作原理_嵌入式工作原理现在的CPU处理器一般都是超流水线工作,动不动就是10级以上流水线,超高主频,这两者之间有什么关系呢?今天就跟大家科普下CPU流水线的工作原理,以及他们之间的关系。说到流水线,很多人会想到富士康;说到富士康,很多人会想到张全蛋。作为富士康3号流水线资深质检员,下面就请张全蛋给大家科普下什么是流水线,大家鼓掌欢迎。MichealJack眼中的流水线大家好,我是张全蛋,英文名叫MichealJack,法文名叫霍雷呆-杰Q赖,大家也可以叫我查理。作为iPhone手机3号流水线的资.

    2022年8月20日
    4
  • 可用的NTP服务器地址「建议收藏」

    可用的NTP服务器地址「建议收藏」国内可用的Internet时间同步服务器地址(NTP时间服务器)好在阿里云提供了7个NTP时间服务器也就是Internet时间同步服务器地址ntp1.aliyun.comntp2.aliyun.comntp3.aliyun.comntp4.aliyun.comntp5.aliyun.comntp6.aliyun.comntp7.aliyun.com以下红色部分是我能ping通的地址,不能平通的也…

    2022年6月14日
    29
  • 阿里云动态域名_阿里动态域名解析

    阿里云动态域名_阿里动态域名解析前言该脚本的代码大部分是参考自阿里云的官方帮助文档。1,脚本语言使用的是python,我个人只是了解python,没有太深入的知识功底2,脚本代码我会尽量详细地添加注释说明,有问题欢迎留言

    2022年8月5日
    4
  • 教你PSD文件如何预览(支持32以及64位win7系统)

    教你PSD文件如何预览(支持32以及64位win7系统)相信随着软矿发出关于AdobeCS6的系列文章,很多矿友们已经按捺不住都早早的安装上了吧!但是笔者安装之后发现之前安装的PhotoshopCS5所具有的PSD文件预览功能消失了,相当郁闷的说~所以苦寻很多方法之后终于找到了消失的PSD文件预览功能。NO.1下载右侧链接的压缩包文件:点我下载下载完成后解压缩至任意目录,压缩包内容如下图所示然后将对应系统的MysticThum…

    2022年6月11日
    50
  • 图像检索评价指标:PR曲线的计算与绘制

    图像检索评价指标:PR曲线的计算与绘制#@filename:test2.py#@brief:如何绘制PR曲线#@author:liupc#@date:2021/8/2importnumpyasnpfromtqdmimporttqdmimportmatplotlib.pyplotasplt#计算汉明距离。有几位不同,距离就为几。defCalcHammingDist(B1,B2):q=B2.shape[1]distH=.

    2022年6月23日
    36
  • 磁盘阵列 mysql_Mysql 系列 磁盘阵列

    磁盘阵列 mysql_Mysql 系列 磁盘阵列RAID基本思想就是把多个相对便宜的硬盘组合起来,使其组合成一个容量更大、更安全的硬盘组.目前已有的RAID硬盘组方案至少有几十种,其最常用的要数RAID5与RAID10硬盘组方案。软RAID(software-basedRAID)是基于软件的RAID。它可能是最普遍的被使用的RAID阵列,这是由于现在的很多服务器操作系统都集成了RAID功能。硬RAID(这里只讨论基于总线的RAID)是由内建…

    2022年6月11日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号