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


相关推荐

  • 字符串匹配算法_字符串模式匹配算法

    字符串匹配算法_字符串模式匹配算法目录Brute-Force算法Knuth-Morris-Pratt算法确定有限状态自动机部分匹配表Boyer-Moore算法Rabin-Karp算法总结网络信息中充满大量的字符串,对信息的搜寻至关重要,因此子字符串查找(即字符串匹配)是使用频率非常高的操作:给定一段长度为N的文本和长度为M的模式字符串(N≥M),在文本中找到一个和模式串相匹配的子串。由这个问题可以延…

    2022年4月19日
    63
  • eclipse导入maven工程,右键没有build path和工程不能自动编译解决方法

    eclipse导入maven工程,右键没有build path和工程不能自动编译解决方法原文链接:https://blog.csdn.net/wusunshine/article/details/52506389eclipse导入maven工程,右键没有buildpath解决方法:由于.project文件缺少<natures><nature>org.eclipse.jdt.core.javanature</nature&gt…

    2022年5月31日
    47
  • HttpClient4使用

    HttpClient4使用packagemain;importjava.io.IOException;importjava.io.UnsupportedEncodingException;importjava.net

    2022年7月4日
    17
  • 解决pycharm安装cv2模块无法安装的方法「建议收藏」

    解决pycharm安装cv2模块无法安装的方法「建议收藏」关于pycharm安装cv2模块安装失败和无法使用的解决办法:首先,我们先到这个网址:https://pypi.org/project/opencv-python/3.4.5.20/#files去下载与自己python版本号和电脑位数对应的opencv-python的whl文件,我这里是python3.6版本,对应电脑64位,所以我下载的是我这里是python3.6版本,对应电脑64位,所以我下载的是opencv_python-3.4.5.20-cp36-cp36m-win_amd64.whl。大家

    2025年6月7日
    2
  • Zigbee协议栈进行数据发送

    Zigbee协议栈进行数据发送Zigbee协议栈进行数据发送是调用AF_DataRequest这个函数,该函数会调用协议栈里面与硬件相关的函数最终将数据通过天线发送出去。  afStatus_tAF_DataRequest(afAddrType_t*dstAddr,//目的地址指针                             endPointDesc_t*srcEP, //发送节点的端点描述符

    2022年5月16日
    34
  • Codeforces 432 D. Prefixes and Suffixes

    Codeforces 432 D. Prefixes and Suffixes

    2022年1月14日
    54

发表回复

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

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