`
MyEyeOfJava
  • 浏览: 1157989 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7af2d6ca-4fe1-3e9a-be85-3f65f7120bd0
测试开发
浏览量:71361
533896eb-dd7b-3cde-b4d3-cc1ce02c1c14
晨记
浏览量:0
社区版块
存档分类
最新评论

[gitlab]搭建私有github仓库

阅读更多

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

 

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

分享到:
评论

相关推荐

    gitlab搭建与日常使用

    3.GitLab是一个基于Git实现的在线代码仓库软件,你可以用GitLab自己搭建一个类似于GitHub一样的仓库, 但是GitLab有完善的管理界面和权限控制,一般用于在企业、学校等内部网络搭建Git私服。 4.GitHub和GiLlab两个...

    Docker Gitlab+Jenkins+Harbor构建持久化平台操作

    Gitlab 基于git做了图形管理页面,企业使用gitlab做私有的代码管理仓库 Github 公共代码管理仓库 搭建gitlab 搭建gitlab先创建工作目录,因为有些数据需要持久化 [root@www ~]# mkdir -p /gitlab [root@www ~]# cd ...

    基于Gitlab的代码审查流程(Code-Review)方案

    GitHub更注重公共代码托管和社交开发,免费用户只能创建公开仓库,而GitLab允许用户在其服务器上构建私有仓库,并且拥有GitHub的多数功能。GitLab还有免费的社区版和付费的高级版本,后者提供了额外的项目管理、安全...

    20分钟在自己的linux主机上搭建一个属于自己的gitlab服务器.docx

    GitLab是一款开源的Git仓库管理工具,它提供了与GitHub类似的功能,包括代码托管、项目管理、持续集成/持续部署(CI/CD)等。 **步骤1:购买云服务器** 首先,你需要购买一台云服务器,如华为云、阿里云或百度云等。...

    gitLab 使用教程.pdf

    GitLab 是一个强大的开源版本控制系统,它允许用户创建和管理自托管的Git项目仓库,提供了类似于GitHub的功能。GitLab不仅支持代码版本控制,还具备项目管理、用户管理、权限设置等功能,适合企业和组织内部构建自己...

    gitlab服务端搭建

    GitLab 是一个开源的版本控制系统,它提供了与 GitHub 类似的功能,但允许用户在自己的服务器上进行私有部署。GitLab 支持持续集成和持续部署(CICD),并且提供了一个直观的Web图形化界面,便于管理和组织项目。它...

    Docke实例之搭建gitlab的方法

    Github是公共的git仓库,而Gitlab适合于搭建企业内部私有git仓库 官网: https://about.gitlab.com/ https://github.com/gitlabhq/gitlabhq 前端:Nginx,用于页面及Git tool走http或https协议 后端:Gitlab服务...

    Git和Github原理和操作

    用户可以创建公共或私有仓库,将本地Git仓库推送到GitHub,或者从GitHub克隆仓库到本地。GitHub的Pull Request机制使得团队成员可以提出代码更改,其他成员可以审查和讨论这些更改,确保代码质量。此外,GitHub的...

    CentOS8.1搭建Gitlab服务器详细教程

    总之,GitLab为企业提供了一种强大的私有化Git服务解决方案,通过自行搭建服务器,企业可以控制代码仓库的访问权限,同时享受到GitLab的高级特性,如内置的CI/CD、代码审查和项目管理功能。虽然旗舰版提供了更多的...

    git安装使用仓库搭建

    #### 搭建私有 Git 仓库 除了使用公共的 Git 托管服务(如 GitHub 和 Gitee)外,组织还可以选择搭建自己的私有 Git 仓库。一种流行的选择是使用 Gogs 或 GitLab CE。 - **Gogs**: 是一个简单且易于部署的自托管 ...

    gitlab-ce_7.10.5~omnibus-1_amd64.rar

    GitLab 是一个开源的版本控制系统,它提供了与GitHub 类似的功能,包括代码托管、问题跟踪、持续集成(CI...使用这个安装包,用户可以在本地或者私有服务器上快速搭建自己的GitLab实例,享受GitLab带来的各种便捷功能。

    完全学会GIT+GITHUB+GIT+SERVER的24堂课

    Git是分布式版本控制系统,GITHUB是全球最大的开源代码托管平台,而Git Server则是用于搭建本地或私有Git仓库的服务端程序。这三者构成了开发者进行版本控制和协作开发的核心工具链。下面,我们将深入探讨这些知识点...

    Yith一个无服务器的私有npm注册表

    6. **CI/CD集成**:Yith的无服务器私有npm注册表可以轻松与持续集成/持续部署(CI/CD)系统集成,例如Jenkins、GitLab CI/CD或GitHub Actions,实现自动化测试和部署流程。 7. **代码复用与协作**:私有npm注册表...

    Git超级简明手册

    在企业环境中,出于安全和控制的需求,很多公司会选择在内网中搭建GitLab服务器,而不是使用像GitHub这样的托管服务。 GitHub是当前最大的开源项目托管平台,它为开源项目提供了免费的托管服务,但对私有项目则需要...

    gitbook-docker:dockerize gitbook服务器

    搭建私有gitlab作为版本控制工具,gitbook渲染网页 运行方式 配置docker和docker-compose环境,尔后运行将需要渲染展示的gitbook的git 仓库的URI填写到docker-compose.yml中,运行 $ git clone ...

    git应用开发详解

    通过ECS,团队可以轻松地搭建私有的Git服务器,如GitLab或GitHub Enterprise,以满足企业级的权限控制和协作需求。 GitLab是另一个重要的Git管理平台,它集成了代码托管、持续集成/持续部署(CI/CD)、问题跟踪、...

    git安装文件及使用说明.rar

    - 企业内部开发:公司可以搭建私有的Git服务器,用于内部代码的版本控制和协作。 总之,“git安装文件及使用说明.rar”压缩包为Windows用户提供了一站式的Git安装和学习资源,无论你是初学者还是经验丰富的开发者,...

    git服务器软件和配置教程(整套)Git-1.8.4-preview20130916.exe

    在搭建Git服务器时,我们通常会使用如GitLab、GitHub或Gitea这样的服务。但如果你需要在本地或私有网络内搭建,那么可以使用Git自带的裸仓库功能。以下是一个简单的步骤: 1. **安装Git**:运行Git-1.8.4-preview...

Global site tag (gtag.js) - Google Analytics