前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >11月初,我做了一项重大决定!

11月初,我做了一项重大决定!

作者头像
冰河
发布2024-11-04 13:39:55
发布2024-11-04 13:39:55
7500
代码可运行
举报
文章被收录于专栏:冰河技术
运行总次数:0
代码可运行

大家好,我是冰河~~

最近一段时间,总有星球小伙伴向我反馈说自己授权过的代码莫名其妙访问不到了,拉取代码提示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

命令行输入如下命令:

代码语言:javascript
代码运行次数:0
复制
vim /etc/yum.repos.d/gitlab_gitlab-ce.repo

添加如下内容:

代码语言:javascript
代码运行次数:0
复制
[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

随后执行如下两条命令:

代码语言:javascript
代码运行次数:0
复制
yum install gitlab-ce
#配置并启动 GitLab
gitlab-ctl reconfigure

gitlab常用命令如下:

代码语言:javascript
代码运行次数:0
复制
启动 : gitlab-ctl start
停止 : gitlab-ctl stop
重启 : gitlab-ctl restart
查看服务状态 : gitlab-ctl status

修改默认存放目录

停止gitlab

代码语言:javascript
代码运行次数:0
复制
gitlab-ctl stop

输入如下命令修改gitlab配置文件

代码语言:javascript
代码运行次数:0
复制
vim /etc/gitlab/gitlab.rb

找到 git_data_dirs里面的path 换成共享文件自己想要配置的目录。

代码语言:javascript
代码运行次数:0
复制
git_data_dirs({
  "default" => {
    "path" => "/home/gitlab/code"
   }
})

将旧的gitlab数据迁移到新目录 (使用 rsync 命令)

代码语言:javascript
代码运行次数:0
复制
 rsync -av /var/opt/gitlab/git-data/repositories  /mnt/hgfs/project

重新加载配置

代码语言:javascript
代码运行次数:0
复制
gitlab-ctl repositories

启动gitlab,等待几分钟

代码语言:javascript
代码运行次数:0
复制
gitlab-ctl start

修改gitlab默认端口

(1)修改修改 gitlab-http.conf

命令行输入如下:

代码语言:javascript
代码运行次数:0
复制
/var/opt/gitlab/nginx/conf/gitlab-http.conf

修改server的配置,修改后的配置如下所示。

代码语言:javascript
代码运行次数:0
复制
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

命令行输入如下命令。

代码语言:javascript
代码运行次数:0
复制
vim /etc/gitlab/gitlab.rb

在gitlab.rb中找到nginx['listen_port']并修改成如下所示。

代码语言:javascript
代码运行次数:0
复制
nginx['listen_port'] = 10000

找到如下代码。

代码语言:javascript
代码运行次数:0
复制
external_url 'http://gitlab.example.com'

修改成如下代码。

代码语言:javascript
代码运行次数:0
复制
external_url 'http://10.3.3.21'

(3)修改gitlab.yml配置

命令行输入如下命令。

代码语言:javascript
代码运行次数:0
复制
vim /var/opt/gitlab/gitlab-rails/etc/gitlab.yml

修改后的配置如下所示。

代码语言:javascript
代码运行次数:0
复制
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)重新加载配置

代码语言:javascript
代码运行次数:0
复制
gitlab-ctl reconfigure

随后按照如下命令启动、停止、重启和查看gitlab服务状态即可。

代码语言:javascript
代码运行次数:0
复制
启动 : gitlab-ctl start
停止 : gitlab-ctl stop
重启 : gitlab-ctl restart
查看服务状态 : gitlab-ctl status

(5)配置外部nginx访问gitlab

在命令行输入如下命令

代码语言:javascript
代码运行次数:0
复制
vim /etc/gitlab/gitlab.rb

将external_url修改成如下所示。

代码语言:javascript
代码运行次数:0
复制
external_url 'http://10.3.3.21/coding'

随后执行如下命令重新加载gitlab配置并重启gitlab。

代码语言:javascript
代码运行次数:0
复制
gitlab-ctl reconfigure
gitlab-ctl restart

随后配置外部Nginx,在nginx.conf配置文件的http下添加如下配置。

代码语言:javascript
代码运行次数:0
复制
upstream gitlab
{
    server 10.3.3.21:10000 weight=1 max_fails=2 fail_timeout=60s;
}

随后在nginx.conf的server下添加如下配置。

代码语言:javascript
代码运行次数:0
复制
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、简易商城系统等等,这些项目的需求、方案、架构、落地等均来自互联网真实业务场景,让你真正学到互联网大厂的业务与技术落地方案,并将其有效转化为自己的知识储备。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-11-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 冰河技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装gitlab
  • 修改默认存放目录
  • 修改gitlab默认端口
  • 写在最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档