大家好,我是冰河~~
最近一段时间,总有星球小伙伴向我反馈说自己授权过的代码莫名其妙访问不到了,拉取代码提示500错误等。收到这些反馈时,我也是很无奈,只能引导小伙伴们一次次重试,或者我也会协助找客服处理。
又一个可直接应用于生产环境的监控组件项目完结并上线,点击链接:https://t.zsxq.com/LjMTj 快速学习,并可直接应用于你的生产环境项目。
因为星球的代码是托管到gitcode.net的,也就是托管到三方了,出了问题,咱除了引导小伙伴重试和找客服以及技术支持外,确实也别无他法。
随着反馈gitcode问题的小伙伴越来越多,我也在默默开始调研其他的代码托管平台,包括:GitHub、Gitee、BitBucket、SourceForge等等。这些代码托管平台虽然非常成熟,但是都不太符合对项目和成员的周期性管理需求。
既然这些成熟的代码托管平台都不太符合对项目和成员的周期性管理需求,再加上gitcode目前又不能创建新的项目和组织了。
那何不自己搭建一个gitlab来管理项目和成员呢?说干就干,于是,周末花了3个小时左右的时间,自己搭建了gitlab并对整体功能进行测试,总体来说,自己搭建的gitlab还是比较符合预期需求的。
况且,自己搭建gitlab后,小伙伴们如果后续遇到啥问题,我也可以迅速撸起袖子为大家快速处理问题,也不必无奈的等gitcode处理了。总之,自己搭建gitlab后,咱的腰杆子也比之前更硬了。
后续项目的一些代码我都会提交到自己搭建的gitlab平台上,小伙伴们可以到我的gitlab地址注册账号来授权代码访问。今天,我就将搭建gitlab的步骤分享给大家。
注意:我是在CentOS7服务器上安装并配置的GitLab,如果在其他服务器上安装并配置GitLab,可能会略有不同。
安装gitlab
命令行输入如下命令:
vim /etc/yum.repos.d/gitlab_gitlab-ce.repo
添加如下内容:
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key
随后执行如下两条命令:
yum install gitlab-ce
#配置并启动 GitLab
gitlab-ctl reconfigure
gitlab常用命令如下:
启动 : gitlab-ctl start
停止 : gitlab-ctl stop
重启 : gitlab-ctl restart
查看服务状态 : gitlab-ctl status
修改默认存放目录
停止gitlab
gitlab-ctl stop
输入如下命令修改gitlab配置文件
vim /etc/gitlab/gitlab.rb
找到 git_data_dirs里面的path 换成共享文件自己想要配置的目录。
git_data_dirs({
"default" => {
"path" => "/home/gitlab/code"
}
})
将旧的gitlab数据迁移到新目录 (使用 rsync 命令)
rsync -av /var/opt/gitlab/git-data/repositories /mnt/hgfs/project
重新加载配置
gitlab-ctl repositories
启动gitlab,等待几分钟
gitlab-ctl start
修改gitlab默认端口
(1)修改修改 gitlab-http.conf
命令行输入如下:
/var/opt/gitlab/nginx/conf/gitlab-http.conf
修改server的配置,修改后的配置如下所示。
server { ## HTTPS server
listen *:10000;
server_name 10.3.3.21;
server_tokens off; ## Don't show the nginx version number, a security best practice
## Increase this if you want to upload large attachments
## Or if you want to accept large git objects over http
client_max_body_size 0;
(2)修改gitlab.rb
命令行输入如下命令。
vim /etc/gitlab/gitlab.rb
在gitlab.rb中找到nginx['listen_port']并修改成如下所示。
nginx['listen_port'] = 10000
找到如下代码。
external_url 'http://gitlab.example.com'
修改成如下代码。
external_url 'http://10.3.3.21'
(3)修改gitlab.yml配置
命令行输入如下命令。
vim /var/opt/gitlab/gitlab-rails/etc/gitlab.yml
修改后的配置如下所示。
production: &base
#
# 1. GitLab app settings
# ==========================
## GitLab settings
gitlab:
## Web server settings (note: host is the FQDN, do not include http://)
host: 10.3.3.21
port: 10000
https: false
(4)重新加载配置
gitlab-ctl reconfigure
随后按照如下命令启动、停止、重启和查看gitlab服务状态即可。
启动 : gitlab-ctl start
停止 : gitlab-ctl stop
重启 : gitlab-ctl restart
查看服务状态 : gitlab-ctl status
(5)配置外部nginx访问gitlab
在命令行输入如下命令
vim /etc/gitlab/gitlab.rb
将external_url修改成如下所示。
external_url 'http://10.3.3.21/coding'
随后执行如下命令重新加载gitlab配置并重启gitlab。
gitlab-ctl reconfigure
gitlab-ctl restart
随后配置外部Nginx,在nginx.conf配置文件的http下添加如下配置。
upstream gitlab
{
server 10.3.3.21:10000 weight=1 max_fails=2 fail_timeout=60s;
}
随后在nginx.conf的server下添加如下配置。
server
{
listen 80;
server_name 你的域名;
location /coding
{
client_max_body_size 1024m;
proxy_pass http://gitlab;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
随后在浏览器输入 http://你的域名/coding 即可打开gitlab页面。
冰河自行搭建的gitlab地址已经发布到星球,小伙伴们可以点击链接自行注册gitlab账号,随后冰河会为大家开通项目代码访问权限。
写在最后
在冰河的知识星球除了目前正在热更的高性能网关外,还有其他8个项目,像高性能熔断组件、通用指标上报组件、分布式IM即时通讯系统、Sekill分布式秒杀系统、手写RPC、简易商城系统等等,这些项目的需求、方案、架构、落地等均来自互联网真实业务场景,让你真正学到互联网大厂的业务与技术落地方案,并将其有效转化为自己的知识储备。
值得一提的是:冰河自研的Polaris高性能网关比某些开源网关项目性能更高,你还在等啥?不少小伙伴经过星球硬核技术和项目的历练,早已成功跳槽加薪,实现薪资翻倍,而你,还在原地踏步,抱怨大环境不好。抛弃焦虑和抱怨,我们一起塌下心来沉淀硬核技术和项目,让自己的薪资更上一层楼。
目前,领券5折,就可以跟冰河一起学习《手写高性能Polaris网关》、《手写高性能通用熔断组件项目》、《手写高性能通用监控指标上报组件项目》、《简易商城脚手架项目》、《手写高性能RPC项目》和《Spring6核心技术与源码解析》、《实战高并发设计模式》、《分布式Seckill秒杀系统》和《分布式IM即时通讯系统》,从零开始介绍原理、设计架构、手撸代码。
花很少的钱就能学这么多硬核技术、中间件项目和大厂秒杀系统与分布式IM即时通讯系统,比其他培训机构不知便宜多少倍,硬核多少倍,如果是我,我会买他个十年!
加入要趁早,后续还会随着项目和加入的人数涨价,而且只会涨,不会降,先加入的小伙伴就是赚到。
另外,还有一个限时福利,邀请一个小伙伴加入,冰河就会给一笔 分享有奖 ,有些小伙伴都邀请了50+人,早就回本了!
其他方式加入星球:
链接 :打开链接 http://m6z.cn/6aeFbs 加入星球。 回复 :在公众号 冰河技术 回复 星球 领取优惠券加入星球。
特别提醒: 苹果用户进圈或续费,请加微信 hacker_binghe 扫二维码,或者去公众号 冰河技术 回复 星球 扫二维码加入星球。
好了,希望今天的内容能够为大家带来实质性的帮助,我是冰河,我们下期见~~
往期推荐
推荐👍:《历时5个月,秒杀系统完美收官》
推荐👍:《深入理解高并发编程(第2版)发布》
推荐👍:《SpringCloud Alibaba实战电子书发布》
---END---
公众号:冰河技术
视频号:冰河技术
喜欢就点个 在看 呗 👇