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)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 关于python项目依赖生成,数据导出和导入

    关于python项目依赖生成,数据导出和导入

    2022年4月2日
  • python爬虫滑动验证码_python爬虫爬取京东优惠线报

    python爬虫滑动验证码_python爬虫爬取京东优惠线报如何自动登陆京东?我们先来看一下京东的登陆页面,如下图所示:【插入图片,登陆页面】登陆框就是右面这一个框框了,但是目前我们遇到一个困呐,默认的登陆方式是扫码登陆,如果我们想要以用户民个、密码的形式登陆,就要切换一下。我们看一下这两种登陆方式是如何切换的,通过浏览器的元素检查,我们看一下两个标签。【插入图片,两种登陆方式】扫码登陆和用户登陆分别在一个div标签里面,我们可以通过css选择器选定用户登…

    2022年9月18日
  • 关联数据及其应用

    关联数据及其应用转载自:http://blog.sciencenet.cn/blog-357889-578799.html关联数据(LinkedData)是万维网的发明人——蒂姆•伯纳斯-李(TimBerners-Lee)——提出的一种万维网上发布数据的方式,可以看成语义Web的一种实现方式。它一般要求采用RDF数据模型,利用URI(统一资源标识符)命名数据实体,发布和部署实例数据和类数据

    2022年7月17日
  • android之OnTouchListener只能监听到ACTION_DOWN—–onTouchListener的返回值问题「建议收藏」

    做这样一个效果,界面上显示一个紫色方块,任意拖动方块到指定位置都可以,结果方块不动,打印log只有ACTION_DOWN有反应,MOVE和UP都监听不到,很是奇怪,先把整段代码都贴下面了package jason.com.security.ui;import jason.com.security.R;import android.app.Activity;import

    2022年3月11日
  • 下载jieba 库[通俗易懂]

    下载jieba 库[通俗易懂]步骤:1.打开命令行2.联网3.在C:\Users\User>后面加语句 pipinstalljieba形成 C:\Users\User>pipinstalljieba然后按回车,然后就开始安装在最后一行出现Successfullyinstalledjieba-0.39 证明安装成功  PS由于我们用pip来安装的jieba库嘛…

    2022年9月21日
  • css float属性用法_不属于float的常用属性

    css float属性用法_不属于float的常用属性clear:both表示不允许左右两边的floatclear:left表示不允许左边floatclear:right表示不允许右边float

    2022年9月3日

发表回复

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

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