gitlab服务器搭建教程
gitlab服务器搭建教程
目录:
1.原料
2.基础环境
3.数据库安装
4.Gitlab相关安装
5.恢复及备份
1 原料
CentOS 6 kvm虚拟机一台
root用户权限
2 基础环境
以root用户登陆
2.1 更新epel源
wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 https://mirrors.tuna.tsinghua.edu.cn/epel/RPM-GPG-KEY-EPEL-6
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
rpm -Uvh http://mirrors.ustc.edu.cn/epel/epel-release-latest-6.noarch.rpm
2.2 更新epel源
yum groupinstall "Development tools"
yum install libicu-devel cmake nodejs
2.3 git
要求版本:git >=2.7.4
yum install git
2.4 ruby环境
要求版本:ruby >=2.1
yum remove ruby
mkdir /tmp/ruby && cd /tmp/ruby
curl -O --progress http://mirrors.ustc.edu.cn/ruby/2.1/ruby-2.1.6.tar.gz
tar xzf ruby-2.1.8.tar.gz cd ruby-2.1.8
./configure
make && make install
gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
gem install bundler --no-ri
sudo -u git -H bundle config mirror.https://rubygems.org https://gems.ruby-china.org/
2.5 go
要求版本:未知
mkdir /tmp/go && cd /tmp/go
curl -O --progress http://www.golangtc.com/static/go/1.6/go1.6.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.6.linux-amd64.tar.gz
sudo ln -sf /usr/local/go/bin/{go,godoc,gofmt} /usr/local/bin/
go version
2.6 用户
adduser -c 'Gitlab' -s /bin/bash git
vim /etc/sudoers #添加git用户添加sudo权限,添加免密sudo
groupadd redis && useradd -g redis redis -s /sbin/nologin #添加redis用户
sudo usermod -aG redis git #git用户添加到redis组
3 数据库安装
3.1 MySQL
这里使用MySQL数据库。
要求版本:MySQL >= 5.5.14
3.1.1 安装
rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm
yum install mysql mysql-server
service mysqld start
3.1.2 初始化
连接数据库,执行:
CREATE USER 'git'@'localhost' IDENTIFIED BY '$password'; #新建密码
CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, CREATE TEMPORARY TABLES, DROP, INDEX, ALTER, LOCK TABLES, REFERENCES ON `gitlabhq_production`.* TO 'git'@'localhost';
quit;
echo 'max_allowed_packet=500M' >> /etc/my.cnf
service mysqld restart
3.2 Redis
要求版本:Redis >=2.8
3.2.1 安装
mkdir /tmp/redis && cd /tmp/redis
curl -O --progress http://download.redis.io/releases/redis-3.2.5.tar.gz
tar xzf redis-3.2.5.tar.gz
cd redis-3.2.5
make
cd src
make install
mkdir -p /etc/redis
cp redis.conf /etc/redis
3.1.2 初始化
cp /etc/redis/redis.conf /etc/redis/redis.conf.orig
sed 's/^port .*/port 0/' /etc/redis/redis.conf.orig | sudo tee /etc/redis/redis.conf
echo 'unixsocket /var/run/redis/redis.sock' | sudo tee -a /etc/redis/redis.conf
sed -i 's/daemonize no/daemonize yes/g' /etc/redis/redis.conf
mkdir /var/run/redis
sudo chown redis:redis /var/run/redis
sudo chmod 755 /var/run/redis
if [ -d /etc/tmpfiles.d ]; then
echo 'd /var/run/redis 0755 redis redis 10d -' | sudo tee -a /etc/tmpfiles.d/redis.conf
fi
curl -L http://packages.gitlab.cc/install/init-script/redis/cenots6/redis-server -o /etc/init.d/redis-server
chmod +x /etc/init.d/redis-server
service redis-server start
chkconfig redis-server on
4 Gitlab相关安装
4.1 Gitlab-CE
要求版本-无
选择版本-8.9.6
su - git
cd /home/git/
sudo -u git -H git clone https://git.oschina.net/qiai365/gitlab-ce.git -b 8-9-stable gitlab
cd /home/git/gitlab/
git checkout v8.9.6
sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml
sudo -u git -H vim config/gitlab.yml #修改host配置项为本机IP
sudo -u git -H vim config/secrets.yml
sudo -u git -H chmod 0600 config/secrets.yml
sudo chown -R git log/
sudo chown -R git tmp/
sudo chmod -R u+rwX,go-w log/
sudo chmod -R u+rwX tmp/
sudo chmod -R u+rwX tmp/pids/
sudo chmod -R u+rwX tmp/sockets/
sudo -u git -H mkdir public/uploads/
sudo chmod 0700 public/uploads
sudo chmod -R u+rwX builds/
sudo chmod -R u+rwX shared/artifacts/
sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb
sudo -u git -H vim config/unicorn.rb #修改worker数量为cpu核心数
sudo -u git -H cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rb
sudo -u git -H git config --global core.autocrlf input
sudo -u git -H git config --global gc.auto 0
sudo -u git -H cp config/resque.yml.example config/resque.yml #如果redis的sock在其它位置,则修改
sudo -u git cp config/database.yml.mysql config/database.yml
sudo -u git -H vim config/database.yml #修改production环境的socket为mysql的sock文件,通常在/var/lib/mysql/mysql.sock。确认MySQL的用户、密码、库名等配置
sudo -u git -H chmod o-rwx config/database.yml
4.2 Gems
sudo -u git -H bundle install --deployment --without development test postgres aws kerberos -jn #n为cpu数目 提升安装速度
#如果前面严格按照步骤执行,通常是不会遇到问题的。如果有异常自行排查~~
4.3 Gitlab-shell
sudo -u git -H sed -i 's/https:\/\/gitlab.com\/gitlab-org\/gitlab-shell.git/https:\/\/git.oschina.net\/qiai365\/gitlab-shell.git/g' /home/git/gitlab/lib/tasks/gitlab/shell.rake
sudo -u git -H bundle exec rake gitlab:shell:install REDIS_URL=unix:/var/run/redis/redis.sock RAILS_ENV=production #如果安装成功,会有一系列ok提示
sudo -u git -H vim /home/git/gitlab-shell/config.yml #确认一下配置
4.4 Gitlab-workhorse
要求版本-无
选择版本-0.7.5
cd /home/git
sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-workhorse.git
cd gitlab-workhorse
sudo -u git -H git checkout v0.7.5
sudo -u git -H make
4.5 Gitlab初始化数据库
cd /home/git/gitlab
sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production #中途需要输入yes
4.6 安装Gitlab执行脚本
sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
sudo cp lib/support/init.d/gitlab.default.example /etc/default/gitlab
chkconfig gitlab on #设置gitlab开机启动 推荐
4.7 安装logrotate
sudo cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab
4.8 检查环境配置
sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production
4.9 生成Gitlab前端资源
sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production
4.10 安装、配置Nginx
sudo yum install nginx
sudo vim /etc/nginx/nginx.conf #配置80端口到8080端口到proxy_pass
sudo service nginx restart
4.11 启动gitlab
sudo service gitlab start
4.12 最后确认
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
#根据上述命令产生的检查结果和推荐命令,执行并再次检查
5 恢复及备份
5.1 在备份机上恢复备份
su - git
cd /home/git/gitlab
sudo -u git -H vim config/gitlab.yml #确认backup path配置,确保备份的包在该目录下存在、或移动至该位置。备份的包为$时间戳_gitlab_backup.tar
sudo -u git -H vim config/secrets.yml
sudo vim /etc/my.cnf #确保该配置文件添加了 max_allowed_packet=500M 配置
sudo -u git -H bundle exec rake gitlab:backup:restore BACKUP=$时间戳 RAILS_ENV=production #执行恢复备份 中途需要输入yes确认
gitlab服务器搭建教程的更多相关文章
- ubuntu gitlab服务器搭建
gitlab服务器搭建 1.安装依赖包 sudo apt-get install curl openssh-server ca-certificates postfix 执行完成后,出现邮件配置,选择 ...
- gitLab服务器搭建+ rundeck自动化部署
git服务器搭建 https://blog.csdn.net/gx_1_11_real/article/details/79406427 rundeck 部署 https://blog.csdn. ...
- 8.gitlab服务器搭建(基于centos7)
gitlab服务硬件要求 建议服务器最低配置:2核 2G以上内存(不包含2GB,2GB内存运行的时候内存直接爆掉) 官网给出的推荐配置:4核 4GB内存 支持500个用户,8核 8GB内存 支持100 ...
- GitLab服务器搭建及配置
一.服务器环境 操作系统:CentOS release 6.5 (Final) GitLab版本: GitLab-shell:2.0.1 Ruby version: ruby 2.1.2p95 (20 ...
- linux下FTP服务器搭建教程1
你买了个主机就像是买了块地皮,搭建FTP就像是盖房子,我在地皮上建房子,然后创建的用户就像是钥匙,我给谁钥匙(权限),谁就可以到我家去玩,去放东西,拿东西. 虽然我们买不起现实的房子,但是我们可以买互 ...
- gitlab服务器搭建
当然喜欢英文的可以参考官方文档:https://about.gitlab.com/downloads/ 1. 根据自己的操作系统选择相应的安装方法,我这边是阿里云 centos 7的 sudo yu ...
- SVN服务器搭建教程
常见的源代码管理工具 CVS 历史悠久,现在几乎没人使用 SVN 集中式版本控制的代表 CVS的接班人,速度比CVS快,功能比CVS强大 在国内使用率非常高(70%~90%) GIT 分布式源代码管理 ...
- Gitlab 服务器搭建
一.官网地址 首页:https://about.gitlab.com/ 安装说明:https://about.gitlab.com/installation/ 二.安装命令摘录 实际问题:yum 安装 ...
- Gitlab服务器搭建(For fedora23)
1. Install and configure the necessary dependencies sudo yum install curl policycoreutils openssh-se ...
随机推荐
- Project 9:两种简单数列排序
1.冒泡法排序 /* 冒泡排序法的核心思想就是依次把最大的数换到最后面. 若有n个数 就需要通过n-1次循环来排序. 具体做法就是从第一个数开始 两个数比较大小大的换到后面,这样最大的就在最后了. 然 ...
- Java log4j使用
log4j下载地址: http://logging.apache.org/log4j/1.2/download.html 本人用的是log4j-1.2.17.jar的jar包. 接下来我们配置下一lo ...
- 怎么修改mysql中user表的密码????
- 软件工程(GZSD2015)学生博客列表
2015年贵州师范大学软件工程课程学生博客列表 陈小丽 郑倩 唐洁 周娟 李利思 肖俊 罗文豪 周静 徐明艳 毛涛 邓洪虹 岳庆 李盼 安坤 何亚 涂江凤 张义平 杨明颢 杨家堂 胡贵玲 寿克霞 吴明 ...
- 团队作业八—第二次团队冲刺(Beta版本) 第 1 天
一.每个人的工作 (1) 昨天已完成的工作 由于是才刚开始冲刺,所以没有昨天的工作 (2) 今天计划完成的工作: 对界面的优化和一些细节的完善 (3) 工作中遇到的困难: 工作中出现了意见不一的情况 ...
- 201521123033《Java程序设计》第14周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 2. 书面作业 1. MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自 ...
- 201521123049 《JAVA程序设计》 第10周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异常.多线程 1.finally 题目4-2 1.1 截图你的提交结果(出 ...
- Java课程设计 201521123078
计时器 掌握java图形界面操作以及多线程技术. 1.Mythread1 写一个类Mythread1实现Runnable,当需要开一个线程时就是用这个类.其中的run()通过标记flag和循环实现时间 ...
- 深入浅出数据结构C语言版(17)——希尔排序
在上一篇博文中我们提到:要令排序算法的时间复杂度低于O(n2),必须令算法执行"远距离的元素交换",使得平均每次交换减少不止1逆序数. 而希尔排序就是"简单地" ...
- 浅谈JAVA中“增强”类的某个方法的几个中方法!
一.继承 使用场景:能够控制这个类的构造的时候,才可以使用继承. 优点:简单容易使用, 缺点:耦合性大大的增强,不利于后期的维护,所以对于继承这种方法,谨慎使用. 代码实现:二.装饰者模式 使用场景 ...