GitLab5
GitLab5发布快一个月了,决定试用下,5.0最大的特性就是用GitLab-Shell取代了Gitolite,这大大降低了安装难度,不多本人在安装过程中还是越到了一些问题,所以记录下来供要安装GitLab5的朋友参考!
主要参考文档: https://github.com/gitlabhq/gitlabhq/blob/5-0-stable/doc/install/installation.md
安装步骤总览
- 安装依赖包
- 安装Ruby/RVM
- 创建Git用户
- 安装GitLab-Shell
- 配置数据库
- 安装GitLab
- 启动
安装依赖库
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
解决办法:
切到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
安装步骤总览
- 安装依赖包
- 安装Ruby/RVM
- 创建Git用户
- 安装GitLab-Shell
- 配置数据库
- 安装GitLab
- 启动
安装依赖库
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
解决办法:
切到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吧!

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吧!

GitLab5的更多相关文章
- Kubernetes – Ingress
用户在 Kubernetes 上部署的服务一般运行于私有网络,Pod和Service 提供了 hostPort,NodePort等参数用于暴露这些服务端口到K8S节点上,供使用者访问.这样的方法有明显 ...
随机推荐
- mysql添加字段索引失败 BLOB/TEXT column 'col2' used in key specification without a key length
看了下该表的数据结构发现col2字段类型是text ,查询了下发现是:MySQL只能将BLOB/TEXT类型字段设置索引为BLOB/TEXT数据的钱N个字符.索引指定下col2的长度就可以了 : al ...
- npm link的作用
语法: 1. 在一个包目录下npm link (把当前的包目录软连接到global folder里面,把二进制文件也软连接到global的bin里面 这个prefix可以用npm config ls ...
- Python学习之==>内置函数、列表生成式、三元表达式
一.内置函数 所谓内置函数就是Python自带的函数 print(all([0,2,3,4])) #判断可迭代的对象里面的值是否都为真 print(any([0,1,2,3,4])) #判断可迭代的对 ...
- python中的装饰器练习
一:编写装饰器,为多个函数加上认证的功能(用户的账号密码) 要求登录成功一次,后续的函数都无需输入用户名和密码FLAG=False#此时还未登录 全局变量 写这个步骤的意义在于:方便 知道已经登录成功 ...
- linux/linux学习笔记-初识linux(mooc)
一.linux简介 linux版本:内核版本和发行版本 linux企业应用: 1.基于linux的企业服务器 2.linux在嵌入式领域应用 android底层Linux : ios底层unix li ...
- 20191128 Spring Boot官方文档学习(9.4-9.8)
9.4.Spring MVC Spring Boot有许多启动器包含Spring MVC.请注意,一些启动器包括对Spring MVC的依赖,而不是直接包含它. 9.4.1.编写JSON REST服务 ...
- 惠普IPMI登陆不上
[问题描述] IPMI登陆不上(HP),点击无反应. 浏览器使用IE,java版本使用32位1.7版本. [问题原因] 保护此网站的证书使用弱加密,即 SHA1.此网站应该在 SHA1 被禁用之前将该 ...
- CentOSLinux系统Nginx优化
Nginx优化 Auther:Rich七哥 Nginx优化一.Nginx隐藏版本号:二.网页缓存.连接超时.网页压缩传输:配置连接超时:3.网页压缩传输:三.访问控制.定义错误页面.自动索引.目录别名 ...
- 前端导出excel文件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- windows上利用dhcpsrv搭建DHCP服务器
起因是一个很奇葩的需求:乙方要远程升级仪器,用TeamViewer远程控制并ssh到仪器,但仪器内部IP地址没有写死,靠DHCP服务器获取.那么就要在PC建立DHCP服务器,用网线连接仪器,然后才能看 ...