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。

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

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