用GitLab搭建自己的私有GitHub

自己搭建一个gitlab及流水线全过程 自己搭建一个gitlab 阅读详情

用GitLab搭建自己的私有GitHub

Gitlab是一个用Ruby on Rails开发的开源项目管理程序,可以通过WEB界面进行访问公开的或者私人项目。它和Github有类似的功能,能够浏览源代码,管理缺陷和注释。

下面介绍如何在 Debian/Ubuntu 和 Centos 下搭建配置 GitLab。

安装依赖

Debian/Ubuntu下:

sudo apt-get install -y build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl openssh-server redis-server checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev logrotate

安装python(注意需要2.5以上版本):

sudo apt-get install -y python python-docutils

安装git(注意需要1.7.10以上版本):

sudo apt-get install -y git-core

Centos下官方仓库的软件比较老旧,推荐先添加epel源,然后再安装依赖:

sudo yum install git patch gcc-c++ readline-devel zlib-devel libffi-devel openssl-devel make autoconf automake libtool bison libxml2-devel libxslt-devel libyaml-devel git python python-docutils

安装 Ruby 2.0

需要安装Ruby2.0,软件仓库中的Ruby 1.8不支持:

mkdir /tmp/ruby && cd /tmp/ruby
curl --progress ftp://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p353.tar.gz | tar xz
cd ruby-2.0.0-p353
./configure --disable-install-rdoc
make
sudo make install

安装Bundler Gem:

sudo gem install bundler --no-ri --no-rdoc

配置gitlab-shell

创建git用户:

sudo adduser --system --create-home --comment 'GitLab' git  

配置gitlab-shell

su - git -c "git clone https://github.com/gitlabhq/gitlab-shell.git"  
su - git -c "cd gitlab-shell && git checkout v1.3.0"  
su - git -c "cp gitlab-shell/config.yml.example gitlab-shell/config.yml"  
sed -i "s/localhost/gitlab.51yip.com/g" /home/git/gitlab-shell/config.yml  
su - git -c "gitlab-shell/bin/install"  
chmod 600 /home/git/.ssh/authorized_keys  
chmod 700 /home/git/.ssh

数据库

GitLab支持 MySQL 和 PostgreSQL 数据库。下面以 MySQL为例,介绍安装方法:

Debian/Ubuntu下使用如下命令安装:

sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev

Centos下使用如下命令:

sudo yum install mysql-server 
sudo chkconfig mysqld on

配置MySQL:

sudo echo "CREATE DATABASE IF NOT EXISTS gitlabhq_production DEFAULT CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';" | mysql -u root 
sudo echo "UPDATE mysql.user SET Password=PASSWORD('123456') WHERE User='root'; FLUSH PRIVILEGES;" | mysql -u root 

注意,用你的密码替换123456。

安装配置 gitlab

su - git -c "git clone https://github.com/gitlabhq/gitlabhq.git gitlab"  
su - git -c "cd gitlab;git checkout 5-1-stable"  
su git -c "cp config/gitlab.yml.example config/gitlab.yml"  
su git -c "mkdir /home/git/gitlab-satellites"  
su git -c "mkdir public/uploads"  
su git -c "mkdir -p tmp/sockets/"  
su git -c "mkdir -p tmp/pids/"  
sed -i "s/ host: localhost/ host: gitlab.segmentfault.com/g" config/gitlab.yml  
sed -i "s/from: gitlab@localhost/from: gitlab@gitlab.segmentfault.com/g" config/gitlab.yml  
su git -c "cp config/puma.rb.example config/puma.rb"  
su git -c 'git config --global user.name "GitLab"'  
su git -c 'git config --global user.email "gitlab@gitlab.segmentfault.com"'

注意将gitlab.segmentfault.com替换为你自己的内容。

配置数据库连接:

sudo su git -c "cp config/database.yml.mysql config/database.yml"
sudo sed -i "s/secure password/mysql的root密码/g" config/database.yml

安装MySQL需要的Gems

sudo -u git -H bundle install --deployment --without development test postgres aws

初始化:

sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
sudo chmod +x /etc/init.d/gitlab
sudo update-rc.d gitlab defaults 21

查看是否配置妥当:

sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production

重启GitLab:

sudo service gitlab start

配置Nginx

Debian/Ubuntu下:

sudo apt-get install -y nginx

CentOS下:

sudo yum install nginx

下载配置文件样例:

sudo cp lib/support/nginx/gitlab /etc/nginx/sites-available/gitlab
sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab

修改 /etc/nginx/sites-available/gitlab,特别留意将 YOUR_SERVER_FQDN 改成自己的。

重启nginx:

sudo service nginx restart

好了,你可以登录GitLab了,默认安装后的用户名:admin@local.host,密码5iveL!fe。


Docker部署配置Gitlab_docker gitlab 一定要搞清楚邮件服务的端口到底是哪个,不然配置完后测试邮件发送会提示链接超时,也可以在docker部署的gitlab容器内。邮箱是企业进行工作中的通知,交互必不可少的部分,gitlab同样支持邮箱的配置,方便对一些操作有邮件的提醒。Gitlab上创建项目时,由于新项目的创建必须依赖于一个组,因此,我们在创建项目前,先创建组。项目的创建与组的创建过程类似,都是输入项目名称,选择组的名称,项目描述以及权限等。来判断邮箱的地址和端口是否正确,如果正确则不报错,后面也会给出具体的配置。 阅读详情

相关推荐

桌面云虚拟机Ubuntu离线安装open-vm-tools

公司办公在桌面云中进行开发,桌面云是无法访问外网的,然后又有安装虚拟机的需求,使用VMware自带的VMware-tools安装功能失败,报错也需要联网才能解决,如果不安装VMware-tools,则虚拟机无法使用共享文件夹功能以及与本机共享剪贴板功能,非常难受,故自己研究解决如何离线安装open-vm-tools(open-vm-tools 是 VMware Tools 的开源实施)打开Ubuntu,可以在文件中看到生成的ISO文件,点开,将四个软件包复制粘贴至桌面。

weixin_43397593的博客 5072

2023年最新详细教程!手把手教你搭建Hexo + GitLab个人博客

本文适合所有想要搭建个人博客的读者(无论您是大佬🤖,🆚 还是新手小白🐼,都可放心食用),本文教程以 Windows 为例。📝⏭使用Gitlab pages部署hexo博客时,我们不需要在本地使用hexo generate命令生成博客静态网页,再push到Gitlab pages仓库,而是直接push了hexo博客的源码到Gitlab pages仓库,同时增加一个.gitlab-ci.yml文件作为CI/CD脚本,通过该文件在Gitlab服务器生成博客的静态网页,然后自动发布。

~~~~~~~BUG FLY~~~~~~~~~ 4235

从GAN生成失败案例出发:为什么你的AI画不准位置?CoordConv保姆级解决方案

本文深入探讨了GAN生成图像时位置偏移问题的根源,并提供了CoordConv的保姆级解决方案。通过分析传统CNN在空间坐标建模上的缺陷,详细介绍了CoordConv的原理、实现步骤及在StyleGAN2等模型中的实战应用,显著提升了医学图像生成等任务的定位精度。

pp12345的博客 204

gitlab接入公司内部单点登录

背景 公司内部有基于oauth2协议自建的单点登录服务,现将原有的各子系统单独维护的登录统一迁移至单点登录。在迁移gitlab时,遇到的坑比较多,所以在这里记录下。 安装gitlab 实验环境是通过dokcer安装的ce版本的gitlab, gitlab版本号: 13.12.1 编辑gitlab.rb文件 如果你是基于源码的方式安装,请编辑 gitlab.yml 文件 gitlab官网地址 gitlab_rails['omniauth_enabled'] = true # 开启omniauth gitlab

qq_16077549的博客 9779

ESP32天线阵列实现Wi-Fi空间成像与无直视定位

Wi-Fi信道状态信息(CSI)是OFDM系统中表征多径传播特性的基础物理层参数,其复数值包含幅度与相位,可反映无线环境的空间特征。基于CSI的射频感知技术,通过提取子载波级信道响应,结合阵列信号处理,实现到达角(AoA)估计与深度映射,本质是将通信链路重构为空间域传感器。该技术无需专用雷达硬件,具备低成本、被动式、隐私友好等工程优势,在室内定位、行为识别、仓储导航等场景具有广泛落地价值。本文聚焦ESP32平台,详解多芯片相位同步、CSI零拷贝采集、嵌入式MUSIC算法及信道图谱轻量化部署等关键实现。

weixin_30632267的博客 236

每天一个优秀提示词学习收藏 - 文本去AI化(四)

宝子们,今天不藏私啦!我把这段时间四处搜罗、潜心钻研出来的文本去AI化Prompt 提示词大礼包双手奉上,这可都是能让你的 AI 创作水平原地起飞的干货!走过路过不要错过,赶紧码住,开启你的 AI 创作进阶之旅吧!

2444

2022年最新教程!Hexo + GitLab搭建个人博客详细教程

不是标题党,我自己刚写的,保证最新。(2022年6月)

靖待的优快云博客 3127

【音视频处理】MP4、FLV、HLS适用范围,在线视频播放哪个更好

本期我们讨论在线点播的视频格式,对比这些视频格式的优劣以及原因 1、封装格式的作用 2、MP4 3、FLV 4、HLS

池鱼 - YiiGaa 2万+

搭建私有git服务器:GitLab部署

GitLab 是一个用于软件开发的开源平台,提供了代码仓库托管、协作、CI/CD(持续集成和持续交付)、监控、安全扫描等全套工具。它支持 Git 版本控制系统,并提供了许多功能,使得开发者和团队能够更高效地协作、部署和监控其软件项目。GitLab 提供了强大的代码仓库管理功能,支持 Git 版本控制系统。开发者可以在 GitLab 上创建公共或私有仓库,并进行代码的版本控制。GitLab 提供了一套协作工具,包括问题跟踪、合并请求、代码审查等,使得团队成员可以更方便地共同协作,解决问题和改进代码。

merlon学习笔记 3704

MAVLink协议详解

MAVLink是为微型飞行器MAV(Micro Air Vehicle)设计的(LGPL)开源的通讯协议。是无人飞行器和地面站(Ground Control Station ,GCS)之间,以及无人飞行器之间通讯常用的协议。APM、PIXHAWK飞控,Mission Planner、QGroundControl地面站均使用了MAVLink协议进行通讯。 MAVLink源码下载地址(现已更新至v2.0):https://github.com/mavlink/qgroundcontrol   用户手册:ht

程序猿老樊的博客 7702

【libnice】meson + vs2022,生成win32工程

libnice

突围 947

github 私有化部署_用GitLab搭建自己的私有GitHub

用GitLab搭建自己的私有GitHub现在git是开发人员的必备技能之一,github的代码仓库管理系统目前是最好的,下面搭建私有github系统的过程。下载gitlab:官网地址:https://about.gitlab.com/install/Download a GitLab Omnibus package (recommended installation)安装gitlab:点击对应操作...

weixin_39786341的博客 2791

46、聚类算法在智能交通数据分析中的应用

本文探讨了聚类算法在智能交通数据分析中的应用,介绍了K-均值算法、K-中心点算法和基于模型的聚类算法的基本原理及特点,并结合实际交通数据讨论了其应用场景与挑战。通过聚类分析,能够从海量交通数据中发现隐藏模式,为交通管理和规划提供科学依据。文章还展示了具体的案例分析和实现流程,为未来智能交通系统的发展提供了参考。

zz67890的博客 133

私有GitHub搭建和GitLab使用部分介绍

因为gitHub上的项目是公开的,不适合公司内部项目放在上面,而私人的需要收费,这绝非是我们愿意的。所以很多人使用和gitHub很相似,但是又免费的gitLab。现在将搭建gitLab过程记录一下留作参考。 gitLab介绍 GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史

y345996249的博客 395

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

gitlab mysql 搭建_用GitLab搭建自己的私有GitHub

Gitlab是一个用Ruby on Rails开发的开源项目管理程序,可以通过WEB界面进行访问公开的或者私人项目。它和Github有类似的功能,能够浏览源代码,管理缺陷和注释。下面介绍如何在 Debian/Ubuntu 和 Centos 下搭建配置 GitLab。安装依赖Debian/Ubuntu下:sudo apt-get install -y build-essential zlib1g-d...

weixin_29410959的博客 314

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

[gitlab]搭建私有github仓库

自己机器只有178M内存后面机器实在跑不动了,做到安装MySQL需要的Gems这一步,这里面有几点需要注意一下:1.mysqld在centos中目录/etc/init.d/mysqld start为开启服务 2.本文一直使用sudo命令用名为git账户去创建gitlab 3.需要修改ruby的使用源为淘宝的 4.你的机器内存最好在1G以上,我的只有51...

weixin_34306446的博客 110

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

gitlab mysql 搭建_用GitLab搭建自己的私有GitHub库的步骤

Gitlab是一个用Ruby on Rails开发的开源项目管理程序,可以通过WEB界面进行访问公开的或者私人项目。它和Github有类似的功能,能够浏览源代码,管理缺陷和注释。下面介绍如何在 Debian/Ubuntu 和 Centos 下搭建配置 GitLab。安装依赖Debian/Ubuntu下:sudo apt-get install -y build-essential zlib1g-d...

weixin_35594924的博客 299

Git 安装及用法 github 代码发布 gitlab私有仓库的搭建

版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。 这个版本控制软件,有 svn还有git,是一个工具. git是由linux的作者开发的 git是一个分布式版本控制系统 svn cvs是集中式的版本控制系统,区别于git,集中式的版本控制系统,必须联网才能用,并且写完了,还得放到一个统一管理的目录,还得通过网络传输 版本库指的就是一堆代码,被循规蹈矩的管理者,就...

weixin_34272308的博客 285

企业运维实战 Git的使用、git结合github/gitlee、私有gitlab搭建

1.Git简介 Git是目前世界上最先进的分布式版本控制系统。这个软件用起来能记录每次文件的改动,方便对文件的增删查改、版本迭代和回退等控制操作。 GitHub是一个基于Git的远程文件托管平台(同Gitlee)。 集中式版本控制系统,都有一个单一的集中管理的服务器,保存所有文件的修订版本,协同工作的人们都通过客户端连接到这台服务器,取出最新的文件或者提交更新。 集中式版本控制系统的缺点,就是必须联网工作,当遇到服务器宕机时,这时协同工作的所有人都无法工作。若遇到中心数据库损坏这种极端的情况下,若未备份,

凡哥的博客 940

驾驶舱疲劳检测:灰度积分投影驱动的工业级Matlab实现

驾驶员疲劳检测是智能座舱与ADAS系统的关键安全模块,其本质是基于生理行为特征的实时状态判别。传统方法依赖通用人脸识别与静态PERCLOS计算,但在强光照变化、运动模糊、遮挡及姿态偏移等真实车载场景下鲁棒性严重不足。本文从驾驶行为生理学出发,聚焦灰度积分投影这一底层物理信号建模技术,揭示其作为光照归一化器与形态特征提取器的核心价值;结合自适应ROI提取、双通道抗干扰设计与事件驱动型PERCLOS判定,显著提升在雨天、夜间、戴镜等复杂工况下的可靠性。适用于Matlab原型开发、嵌入式部署及毕业设计工程落地。

WGH100817的博客 482
上一篇: ubuntu下设置开机自启动项
下一篇: Ubuntu搭建GitLab
focusjava
博客等级 码龄14年 127粉丝 528原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值