day78 gitlab私有仓库的搭建

day78 gitlab 私有仓库的搭建

为什么要搭建gitlab仓库

# 对于中小型公司
例如 3套业务,3套系统需要的部署
1个运维 + 10台阿里云机器 + shell脚本发布 就能实现

git + 远程仓库 + shell脚本 就能实现更新发布

git + 远程仓库(gitee国内的代码仓库 , github 一样)


伪代码的思路

1. 代码的上传
	开发 上传 》 公司使用的远程的仓库(gitee,github)
	
2. 代码的运行,启动
	运维 + shell脚本
		ssh 进入部署的服务器
		git clone 代码仓库下载
		解压下载,进入指定的仓库,设置项目运行的环境,python php Java
3. 代码的更新,重启
	运维 + shell 脚本
		ssh 进入目标的服务器
		进入已经存在代码仓库 /www/my_code/
		# 下载新的代码,更新到本地仓库源码
		git pull -u origin master 
最后干掉旧的进程,重启进程即可。

对于大型的公司

都是自己买的服务器,搭建自己的代码的仓库,企业内部所有的资料全都是私有的代码。

就需要运维去部署私有的仓库 gitlub 就和(github , gitee 一样的。)

Gitlab介绍

我们了解git是以个人为中心,人人都得交互数据

数据交互的方式

  • 使用github或者gitee公有的代码的仓库,托管的地方谁都可以看。

  • 公司内部使用gitlab私有仓库

    github 和gitlab的区别

  • github国外公共的仓库不安全,国内gitee代码仓库,可能会暴露公司的代码秘密

  • 自建的gitlab私有的仓库,更加的安全

  • 从代码私有性来看,公司不希望员工能随意的获取全部的代码,使用gitlab是一个更好的选择,

  • 若是一个开源的项目,Github是一个不错的开源平台

Gitlab 是一个开源的分布式版本控制系统,由Ruby语言开发,gitlab主要实现的功能,管理项目源代码,对源代码进行版本的控制,以及源代码的复用和查找

Gitlab优势和使用的场景

  • 开源免费,简单的搭建,维护的成本较低,适合小型的公司。

  • 权限的管理,实现代码对部分人可见,确保安全性

    gitlab 也分社区版和商业版本

gitlab 部署的实践

yum install curl policycoreutils-python openssh-server postfix wget -y

\获取gitlab源码包
选择各种yum源去安装
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.0.3-ce.0.el7.x86_64.rpm

# 可以用2种的方法进行安装

建议使用yum安装,以便后期的统一的管理
yum localinstall  gitlab-ce-12.0.3-ce.0.el7.x86_64.rpm



rpm -ivh



# 也可以在本地下载推到机器上

gitlab 基础的设置

# 配置gitlab服务,修改域名和邮箱

设置参数如下
[root@gitlab-99 ~]#grep -E '^[a-Z]' /etc/gitlab/gitlab.rb 
external_url 'http://10.0.0.99'
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = '877348180@qq.com'
gitlab_rails['gitlab_email_display_name'] = 'linux0224'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "877348180@qq.com"
gitlab_rails['smtp_password'] = "pvthquniqpjvbbch"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true



修改了gitlab的配置,务必要重新加载gitlab配置
#重新配置gitlab,首次执行会很慢


gitlab-ctl reconfigure

执行命令,测试是否可以发邮件
#执行命令是否可以发邮件即可
gitlab-rails console

执行如下命令测试发邮件即可
Notify.test_email('18985844336@163.com','美好的一天','hello linux0224').deliver_now

确定可以发送邮件后,就可以使用gitlab图形化的配置了

gitlab 命令的管理

gitlab-ctl start 启动所有的服务
gitlab-ctl stop 停止所有的服务
gitlab-ctl restart 
gitlab-ctl status 
gitlab-ctl reconfigure  重新读取配置
gitlab-ctl tail 查看服务运行的状态
gitlab-ctl tail redis 只看某个服务的状态


检查gitlab的nginx状态

[root@web-9 ~]# netstat -tunlp | grep nginx 
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      6818/nginx: master  
tcp        0      0 0.0.0.0:8060            0.0.0.0:*               LISTEN      6818/nginx: master  

[root@web-9 ~]# gitlab-ctl tail nginx 
==> /var/log/gitlab/nginx/current <==

==> /var/log/gitlab/nginx/error.log <==

==> /var/log/gitlab/nginx/gitlab_access.log <==

==> /var/log/gitlab/nginx/gitlab_error.log <==

==> /var/log/gitlab/nginx/access.log <==


访问gitlab ,查看日志

[root@web-9 ~]# awk -F \" '{print $2 }' /var/log/gitlab/nginx/gitlab_access.log 
----用的是正则的提取

#出现问题排除错误的步骤,1,访问具体的url,查看日志加载了那些的资源,提取日志的资源的路径,状态码,判断的网页运行的状态。


默认先修改密码

然后登陆

root 
yzk666linux

gitlab 关闭注册功能

gitlab 发邮件的功能

填写好以后系统就自动发送一个邮件

gitlab 用户的管理

1. 先创建一个组

Gitlab 是通过组(group)的概念来管理仓库

(project)和 用户(user) 通过创建组,在组下创建仓库,在将用户加入组。

创建halo项目,私有组内项目

创建用户的操作

chaoge 用户的管理人员

wenjie 开发者

创建好项目以后,关联用户(身份设置)

目前chaoge,wenjie用户都还是单个用户,没加入组

目的是让chaoge,wenjie用户都能看到my_halo的项目

测试,分别用chaoge,wenjie 登录系统,分别查看项目。

看到这里配置就完事了

posted @ 2025-05-10 16:12  国家一级冲浪yzk  阅读(122)  评论(0)    收藏  举报