自己机器只有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
。
相关推荐
3.GitLab是一个基于Git实现的在线代码仓库软件,你可以用GitLab自己搭建一个类似于GitHub一样的仓库, 但是GitLab有完善的管理界面和权限控制,一般用于在企业、学校等内部网络搭建Git私服。 4.GitHub和GiLlab两个...
Gitlab 基于git做了图形管理页面,企业使用gitlab做私有的代码管理仓库 Github 公共代码管理仓库 搭建gitlab 搭建gitlab先创建工作目录,因为有些数据需要持久化 [root@www ~]# mkdir -p /gitlab [root@www ~]# cd ...
GitHub更注重公共代码托管和社交开发,免费用户只能创建公开仓库,而GitLab允许用户在其服务器上构建私有仓库,并且拥有GitHub的多数功能。GitLab还有免费的社区版和付费的高级版本,后者提供了额外的项目管理、安全...
GitLab是一款开源的Git仓库管理工具,它提供了与GitHub类似的功能,包括代码托管、项目管理、持续集成/持续部署(CI/CD)等。 **步骤1:购买云服务器** 首先,你需要购买一台云服务器,如华为云、阿里云或百度云等。...
GitLab 是一个强大的开源版本控制系统,它允许用户创建和管理自托管的Git项目仓库,提供了类似于GitHub的功能。GitLab不仅支持代码版本控制,还具备项目管理、用户管理、权限设置等功能,适合企业和组织内部构建自己...
GitLab 是一个开源的版本控制系统,它提供了与 GitHub 类似的功能,但允许用户在自己的服务器上进行私有部署。GitLab 支持持续集成和持续部署(CICD),并且提供了一个直观的Web图形化界面,便于管理和组织项目。它...
Github是公共的git仓库,而Gitlab适合于搭建企业内部私有git仓库 官网: https://about.gitlab.com/ https://github.com/gitlabhq/gitlabhq 前端:Nginx,用于页面及Git tool走http或https协议 后端:Gitlab服务...
用户可以创建公共或私有仓库,将本地Git仓库推送到GitHub,或者从GitHub克隆仓库到本地。GitHub的Pull Request机制使得团队成员可以提出代码更改,其他成员可以审查和讨论这些更改,确保代码质量。此外,GitHub的...
总之,GitLab为企业提供了一种强大的私有化Git服务解决方案,通过自行搭建服务器,企业可以控制代码仓库的访问权限,同时享受到GitLab的高级特性,如内置的CI/CD、代码审查和项目管理功能。虽然旗舰版提供了更多的...
#### 搭建私有 Git 仓库 除了使用公共的 Git 托管服务(如 GitHub 和 Gitee)外,组织还可以选择搭建自己的私有 Git 仓库。一种流行的选择是使用 Gogs 或 GitLab CE。 - **Gogs**: 是一个简单且易于部署的自托管 ...
GitLab 是一个开源的版本控制系统,它提供了与GitHub 类似的功能,包括代码托管、问题跟踪、持续集成(CI...使用这个安装包,用户可以在本地或者私有服务器上快速搭建自己的GitLab实例,享受GitLab带来的各种便捷功能。
Git是分布式版本控制系统,GITHUB是全球最大的开源代码托管平台,而Git Server则是用于搭建本地或私有Git仓库的服务端程序。这三者构成了开发者进行版本控制和协作开发的核心工具链。下面,我们将深入探讨这些知识点...
6. **CI/CD集成**:Yith的无服务器私有npm注册表可以轻松与持续集成/持续部署(CI/CD)系统集成,例如Jenkins、GitLab CI/CD或GitHub Actions,实现自动化测试和部署流程。 7. **代码复用与协作**:私有npm注册表...
在企业环境中,出于安全和控制的需求,很多公司会选择在内网中搭建GitLab服务器,而不是使用像GitHub这样的托管服务。 GitHub是当前最大的开源项目托管平台,它为开源项目提供了免费的托管服务,但对私有项目则需要...
搭建私有gitlab作为版本控制工具,gitbook渲染网页 运行方式 配置docker和docker-compose环境,尔后运行将需要渲染展示的gitbook的git 仓库的URI填写到docker-compose.yml中,运行 $ git clone ...
通过ECS,团队可以轻松地搭建私有的Git服务器,如GitLab或GitHub Enterprise,以满足企业级的权限控制和协作需求。 GitLab是另一个重要的Git管理平台,它集成了代码托管、持续集成/持续部署(CI/CD)、问题跟踪、...
- 企业内部开发:公司可以搭建私有的Git服务器,用于内部代码的版本控制和协作。 总之,“git安装文件及使用说明.rar”压缩包为Windows用户提供了一站式的Git安装和学习资源,无论你是初学者还是经验丰富的开发者,...
在搭建Git服务器时,我们通常会使用如GitLab、GitHub或Gitea这样的服务。但如果你需要在本地或私有网络内搭建,那么可以使用Git自带的裸仓库功能。以下是一个简单的步骤: 1. **安装Git**:运行Git-1.8.4-preview...