GitLab5发布快一个月了,决定试用下,5.0最大的特性就是用GitLab-Shell取代了Gitolite,这大大降低了安装难度,不多本人在安装过程中还是越到了一些问题,所以记录下来供要安装GitLab5的朋友参考!

主要参考文档: https://github.com/gitlabhq/gitlabhq/blob/5-0-stable/doc/install/installation.md

安装步骤总览

  1. 安装依赖包
  2. 安装Ruby/RVM
  3. 创建Git用户
  4. 安装GitLab-Shell
  5. 配置数据库
  6. 安装GitLab
  7. 启动

安装依赖库

yum install libicu-devel mysql-devel pcre-devel

安装python,官方要求版本必须在2.5以上,而且不支持3.0,Fedora一般的版本都在2.7以上,因此直接安装源自带的即可

yum install python

安装完查看下版本

python --version

还要确保python2命令有效

python2 --version

如果提示 bash: python2: 未找到命令 ,那你需要link一下

sudo ln -s /usr/bin/python /usr/bin/python2

安装Ruby

  • 源码方式安装
mkdir /tmp/ruby && cd /tmp/ruby 
curl --progress http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p392.tar.gz | tar xz
cd ruby-1.9.3-p392
./configure
make
sudo make install
  • RVM方式
curl -#L https://get.rvm.io | bash -s stable --ruby

默然安装ruby2.0, GitLab推荐用1.9.3

rvm install ruby-1.9.3-p392

还要安装Bundler

sudo gem install bundler

添加系统Git用户

创建一个 git 用户供GitLab使用

adduser --comment 'GitLab' git

让git用户无密码登陆

sudo chmod 644 /etc/shadow vim /etc/shadow

去掉用户的叹号

git:!!:15814:0:99999:7::: 修改为 git::15814:0:99999:7:::

加入sudo组

chmod u+w /etc/sudoers 
vim /etc/sudoers ## Allow root to run any commands anywhere
root ALL=(ALL) ALL
git ALL=(ALL) ALL #加入这行

安装GitLab Shell

切换到git用户

su - git cd ~/

克隆GitLab Shell

git clone https://github.com/gitlabhq/gitlab-shell.git 
cd gitlab-shell

切换到最新的分支

git checkout v1.2.0 

生产配置文件

cp config.yml.example config.yml

更改配置信息,一般就改下你部署的域名地址gitlab_url

vim config.yml 
# Url to gitlab instance. Used for api calls. Should be ends with slash.
gitlab_url: "http://localhost/" #改成你的域名或者IP

安装

./bin/install

安装数据库

gitlab支持mysql和postgresql,这里以mysql为例,postgresql会比较麻烦!

切换回root用户

su - root

安装mysql及开发包

yum install -y mysql-server mysql mysql-devel

启动数据库

service mysqld start

初始化GitLab数据库

mysql -u root -p
Enter password:
Welcome to the MySQL monitor.
Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.30 MySQL Community Server (GPL)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY 'gitlab';
Query OK, 0 rows affected (0.01 sec)

mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> \q
Bye

测试gitlab用户连接mysql

sudo -u git -H mysql -u gitlab -p -D gitlabhq_production

安装GitLab

终于到GitLab的安装了,进入git用户

su - git
cd ~/

克隆GitLab

sudo -u git -H git clone https://github.com/gitlabhq/gitlabhq.git gitlab 
cd gitlab

切换到5.0稳定分支

sudo -u git -H git checkout 5-0-stable

配置

cd /home/git/gitlab 
# 用样例配置生成gitlab配置
sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml

# 更改域名
sudo -u git -H vim config/gitlab.yml

# 确保gitlab对 log/ 和 tmp/ 目录有写权限
sudo chown -R git log/
sudo chown -R git tmp/
sudo chmod -R u+rwX log/
sudo chmod -R u+rwX tmp/

# 创建附属目录
sudo -u git -H mkdir /home/git/gitlab-satellites

# 创建pids目录并确保对gitlab可写
sudo -u git -H mkdir tmp/pids/
sudo chmod -R u+rwX tmp/pids/

# 生成Unicorn配置
sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb

配置GitLab DB设置

# Mysql sudo -u git cp config/database.yml.mysql config/database.yml

安装Gems

cd /home/git/gitlab
sudo gem install charlock_holmes --version '0.6.9'
# For MySQL (note, the option says "without")
bundle install --deployment --without development test postgres

初始化数据并激活高级特性

首先编辑/home/git/gitlab/config/database.yml

#
# PRODUCTION
#
production:
adapter: mysql2
encoding: utf8
reconnect: false
database: gitlabhq_production
pool: 5
username: root
password: "secure password" #更改为你mysql的root用户密码
# host: localhost
# socket: /tmp/mysql.sock
#

执行rake

bundle exec rake gitlab:setup RAILS_ENV=production
报错了,提示 Error connecting to Redis on localhost:6379 (ECONNREFUSED)
解决办法:
切到root,安装Redis
bc(command). yum install redis*
service redis start #启动redis

重新执行rake

bundle exec rake gitlab:setup RAILS_ENV=production
如果你安装最新版可能会报 /home/git/repositories/root 目录找不到,手工建上即可!

如果你看到如下信息:

...
Administrator account created:
login.........admin@local.host
password......5iveL!fe

恭喜你!你已经成功安装GitLab了!别忘了记录输出的管理用户名和密码!

启动

Lab5.0安装全过程

GitLab5发布快一个月了,决定试用下,5.0最大的特性就是用GitLab-Shell取代了Gitolite,这大大降低了安装难度,不多本人在安装过程中还是越到了一些问题,所以记录下来供要安装GitLab5的朋友参考!

主要参考文档: https://github.com/gitlabhq/gitlabhq/blob/5-0-stable/doc/install/installation.md

安装步骤总览

  1. 安装依赖包
  2. 安装Ruby/RVM
  3. 创建Git用户
  4. 安装GitLab-Shell
  5. 配置数据库
  6. 安装GitLab
  7. 启动

安装依赖库

yum install libicu-devel mysql-devel pcre-devel

安装python,官方要求版本必须在2.5以上,而且不支持3.0,Fedora一般的版本都在2.7以上,因此直接安装源自带的即可

yum install python

安装完查看下版本

python --version

还要确保python2命令有效

python2 --version

如果提示 bash: python2: 未找到命令 ,那你需要link一下

sudo ln -s /usr/bin/python /usr/bin/python2

安装Ruby

  • 源码方式安装
mkdir /tmp/ruby && cd /tmp/ruby 
curl --progress http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p392.tar.gz | tar xz
cd ruby-1.9.3-p392
./configure
make
sudo make install
  • RVM方式
curl -#L https://get.rvm.io | bash -s stable --ruby

默然安装ruby2.0, GitLab推荐用1.9.3

rvm install ruby-1.9.3-p392

还要安装Bundler

sudo gem install bundler

添加系统Git用户

创建一个 git 用户供GitLab使用

adduser --comment 'GitLab' git

让git用户无密码登陆

sudo chmod 644 /etc/shadow vim /etc/shadow

去掉用户的叹号

git:!!:15814:0:99999:7::: 修改为 git::15814:0:99999:7:::

加入sudo组

chmod u+w /etc/sudoers 
vim /etc/sudoers ## Allow root to run any commands anywhere
root ALL=(ALL) ALL
git ALL=(ALL) ALL #加入这行

安装GitLab Shell

切换到git用户

su - git cd ~/

克隆GitLab Shell

git clone https://github.com/gitlabhq/gitlab-shell.git 
cd gitlab-shell

切换到最新的分支

git checkout v1.2.0 

生产配置文件

cp config.yml.example config.yml

更改配置信息,一般就改下你部署的域名地址gitlab_url

vim config.yml 
# Url to gitlab instance. Used for api calls. Should be ends with slash.
gitlab_url: "http://localhost/" #改成你的域名或者IP

安装

./bin/install

安装数据库

gitlab支持mysql和postgresql,这里以mysql为例,postgresql会比较麻烦!

切换回root用户

su - root

安装mysql及开发包

yum install -y mysql-server mysql mysql-devel

启动数据库

service mysqld start

初始化GitLab数据库

mysql -u root -p
Enter password:
Welcome to the MySQL monitor.
Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.30 MySQL Community Server (GPL)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY 'gitlab';
Query OK, 0 rows affected (0.01 sec)

mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> \q
Bye

测试gitlab用户连接mysql

sudo -u git -H mysql -u gitlab -p -D gitlabhq_production

安装GitLab

终于到GitLab的安装了,进入git用户

su - git
cd ~/

克隆GitLab

sudo -u git -H git clone https://github.com/gitlabhq/gitlabhq.git gitlab 
cd gitlab

切换到5.0稳定分支

sudo -u git -H git checkout 5-0-stable

配置

cd /home/git/gitlab 
# 用样例配置生成gitlab配置
sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml

# 更改域名
sudo -u git -H vim config/gitlab.yml

# 确保gitlab对 log/ 和 tmp/ 目录有写权限
sudo chown -R git log/
sudo chown -R git tmp/
sudo chmod -R u+rwX log/
sudo chmod -R u+rwX tmp/

# 创建附属目录
sudo -u git -H mkdir /home/git/gitlab-satellites

# 创建pids目录并确保对gitlab可写
sudo -u git -H mkdir tmp/pids/
sudo chmod -R u+rwX tmp/pids/

# 生成Unicorn配置
sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb

配置GitLab DB设置

# Mysql sudo -u git cp config/database.yml.mysql config/database.yml

安装Gems

cd /home/git/gitlab
sudo gem install charlock_holmes --version '0.6.9'
# For MySQL (note, the option says "without")
bundle install --deployment --without development test postgres

初始化数据并激活高级特性

首先编辑/home/git/gitlab/config/database.yml

#
# PRODUCTION
#
production:
adapter: mysql2
encoding: utf8
reconnect: false
database: gitlabhq_production
pool: 5
username: root
password: "secure password" #更改为你mysql的root用户密码
# host: localhost
# socket: /tmp/mysql.sock
#

执行rake

bundle exec rake gitlab:setup RAILS_ENV=production
报错了,提示 Error connecting to Redis on localhost:6379 (ECONNREFUSED)
解决办法:
切到root,安装Redis
bc(command). yum install redis*
service redis start #启动redis

重新执行rake

bundle exec rake gitlab:setup RAILS_ENV=production
如果你安装最新版可能会报 /home/git/repositories/root 目录找不到,手工建上即可!

如果你看到如下信息:

...
Administrator account created:
login.........admin@local.host
password......5iveL!fe

恭喜你!你已经成功安装GitLab了!别忘了记录输出的管理用户名和密码!

启动GitLab

bundle exec rails s -e production
=> Booting WEBrick
=> Rails 3.2.13 application starting in production on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2013-04-19 15:04:41] INFO WEBrick 1.3.1
[2013-04-19 15:04:41] INFO ruby 1.9.3 (2013-02-22)
[x86_64-linux] [2013-04-19 15:04:41] INFO WEBrick::HTTPServer#start: pid=11488 port=3000

Ok,你现在可以访问GitLab了,默认端口是 @3000@, 访问 http://你的域名或IP:3000
第一访问会比较慢,因为要编译很多js和css.

哈哈!看到登陆页面了吧!

输入管理用户名和密码!开始享受GitLab吧!

2013-04-19
bundle exec rails s -e production
=> Booting WEBrick
=> Rails 3.2.13 application starting in production on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2013-04-19 15:04:41] INFO WEBrick 1.3.1
[2013-04-19 15:04:41] INFO ruby 1.9.3 (2013-02-22)
[x86_64-linux] [2013-04-19 15:04:41] INFO WEBrick::HTTPServer#start: pid=11488 port=3000

Ok,你现在可以访问GitLab了,默认端口是 @3000@, 访问 http://你的域名或IP:3000
第一访问会比较慢,因为要编译很多js和css.

哈哈!看到登陆页面了吧!

输入管理用户名和密码!开始享受GitLab吧!

2013-04-19

GitLab5的更多相关文章

  1. Kubernetes – Ingress

    用户在 Kubernetes 上部署的服务一般运行于私有网络,Pod和Service 提供了 hostPort,NodePort等参数用于暴露这些服务端口到K8S节点上,供使用者访问.这样的方法有明显 ...

随机推荐

  1. 在word中的表格指定位置插入一行

    //创建一个Document类对象,并加载Word文档 Document doc = new Document(); doc.LoadFromFile(@"C:\Users\Administ ...

  2. JavaSE部分1.Java基础

    1.为什么重写equals()还要重写hashcode()?  (equals()和hashCode()是java Object中两个基本方法) 首先equals与hashcode间的关系是这样的: ...

  3. django项目部署过程

    django项目部署过程 1.上传代码 用git或者其他工具,如scp 代码上传后保证每个应用下的migrations文件夹里只有一个__init__.py文件,自己的迁移文件不要上传上来,具体的gi ...

  4. Web UI自动化测试基础——元素定位(一)

    本篇文章整理了元素定位的基础知识——单个元素定位方式. 一.单个元素定位方式简介 1. find_element_by_id 通过元素的id属性进行定位.以百度首页为例,首先进入https://www ...

  5. Nginx跨域问题

    Nginx跨域无法访问,通常报错: Failed to load http://172.18.6.30:8086/CityServlet: No 'Access-Control-Allow-Origi ...

  6. 配置NAT

    NAT是将IP数据报文报头中的IP地址转换为另-一个IP地址的过程,主要用于实现内部网络(私有IP地址)访问外部网络(公有IP地址)的功能.NAT有3种类型:静态NAT.动态地址NAT以及网络地址端口 ...

  7. python之optparse

    Python有两个内建的模块用来处理命令行参数 一个是getopt只能简单处理命令行参数 一个是optparse,功能更强大,而且易于使用,可以方便地生成标准的,符合Unix/Posix规范的命令行说 ...

  8. 替换url不刷新页面

    今天碰到一个有趣的问题, 从其他站点登录后,放回了一个token, 但是我切换了路由之后token还在, 路由直接跟在了token参数后面, 后面先利用location.href替换掉原来的连接, 但 ...

  9. GraphQL入门有这一篇就足够了

    GraphQL入门有这一篇就足够了:https://blog.csdn.net/qq_41882147/article/details/82966783 版权声明:本文为博主原创文章,遵循 CC 4. ...

  10. python UnicodeEncodeError: 'gbk' codec can't encode character ...

    使用Python写文件的时候,或者将网络数据流写入到本地文件的时候,大部分情况下会遇到:UnicodeEncodeError: 'gbk' codec can't encode character ' ...