欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

centos6搭建gitlab的方法步骤

程序员文章站 2022-06-16 18:49:59
前言 原来的项目放在公网的gitlab上,处于安全考虑,在内网搭建一套,有图形界面,可以直接从外网git导入进来,使用了一下觉得挺方便,把安装流程记录下来,参考官网: 可...

前言

原来的项目放在公网的gitlab上,处于安全考虑,在内网搭建一套,有图形界面,可以直接从外网git导入进来,使用了一下觉得挺方便,把安装流程记录下来,参考官网: 可以直接移步那里看

基本环境安装(git\redis\ruby\mysql...)

yum -y groupinstall 'development tools'
yum -y install readline readline-devel ncurses-devel gdbm-devel glibc-devel tcl-devel openssl-devel curl-devel expat-devel db4-devel byacc sqlite-devel libyaml libyaml-devel libffi libffi-devel libxml2 libxml2-devel libxslt libxslt-devel libicu libicu-devel system-config-firewall-tui redis sudo wget crontabs logwatch logrotate perl-time-hires git cmake libcom_err-devel.i686 libcom_err-devel.x86_64 nodejs

yum -y install python-docutils
yum -y install postfix
git --version #安装高于2.7.4的git版本
yum -y remove git
yum install zlib-devel perl-cpan gettext curl-devel expat-devel gettext-devel openssl-devel
mkdir /tmp/git && cd /tmp/git
curl --progress https://www.kernel.org/pub/software/scm/git/git-2.9.0.tar.gz | tar xz
cd git-2.9.0
./configure
make
make prefix=/usr/local install

yum remove ruby #安装高于2.1版本的ruby,删除老的
mkdir /tmp/ruby && cd /tmp/ruby
curl --progress https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz | tar xz
cd ruby-2.1.9
./configure --disable-install-rdoc
make
make prefix=/usr/local install
gem install bundler --no-doc
yum install redis mysql
/data/apps/mysql/bin/mysqld_safe &
/data/apps/mysql/bin/mysql -uroot
mysql> create database if not exists `gitlabhq_production` default character set `utf8` collate `utf8_unicode_ci`;
mysql> grant all on gitlabhq_production.* to 'git'@'localhost' identified by 'git';

配置redis

vim /etc/redis.conf

unixsocket /var/run/redis/redis.sock
unixsocketperm 0770
mkdir -p /var/run/redis
chown redis:redis /var/run/redis
chmod 755 /var/run/redis
/etc/init.d/redis start
usermod -ag redis git

配置gitlab相关

# 下载git,用的国内源。国外的太慢了
cd /home/git
sudo -u git -h git clone http://git.oschina.net/qiai365/gitlab-ce gitlab
cd /home/git/gitlab
sudo -u git -h cp config/gitlab.yml.example config/gitlab.yml
sudo -u git -h editor config/gitlab.yml
# 修改成自己的host host: iaasgit1.prod.bj1
sudo -u git -h cp config/secrets.yml.example 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 ug+rwx,o-rwx /home/git/repositories/
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
nproc
sudo -u git -h editor config/unicorn.rb
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
sudo -u git -h editor config/resque.yml

配置db部分 only for mysql

sudo -u git cp config/database.yml.mysql config/database.yml
sudo -u git -h editor config/database.yml #配置production部分的password: "密码"
sudo -u git -h chmod o-rwx config/database.yml

安装gitlab相关,并启动

# install gems
cd /home/git/gitlab
sudo -u git -h bundle install --deployment --without development test postgres aws kerberos

# install gitlab shell
sudo -u git -h bundle exec rake gitlab:shell:install[v3.3.3] redis_url=unix:/var/run/redis/redis.sock rails_env=production
sudo -u git -h editor /home/git/gitlab-shell/config.yml

# install gitlab-workhorse
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

# initialize database and activate advanced features
cd /home/git/gitlab
sudo -u git -h bundle exec rake gitlab:setup rails_env=production

sudo -u git -h bundle exec rake gitlab:setup rails_env=production gitlab_root_password=yourpassword gitlab_root_email=youremail
cp lib/support/init.d/gitlab /etc/init.d/gitlab
cp lib/support/init.d/gitlab.default.example /etc/default/gitlab
chkconfig gitlab on
cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab
sudo -u git -h bundle exec rake gitlab:env:info rails_env=production
sudo -u git -h bundle exec rake assets:precompile rails_env=production
service gitlab start

配置nginx

yum install nginx
cp lib/support/nginx/gitlab /data/apps/nginx/conf/include/gitlab.conf
usermod -a -g git nginx
chmod g+rx /home/git/
/data/apps/nginx/conf/include/gitlab.conf #把这个配置里的server_name配置好

最后check一下

cd /home/git/gitlab
sudo -u git -h bundle exec rake gitlab:check rails_env=production
# 启动gitlab
/etc/init.d/gitlab restart

# 直接打开server_name对应的url,发现样式都没了,执行
sudo -u git -h bundle exec rake assets:clean assets:precompile redis_url=unix:/var/run/redis/redis.sock rails_env=production

最后说明一下

这个只是记一个流水账,里边可能涉及到权限之类的问题,在确保一下nginx\git互相之间是否有权限,另外用check脚本进行check,提示很友好,一般都能搞定,祝你成功。

中间使用的yum由于用的是重写打包过的rpm,路径和默认的不同,如果你用的默认的,可以根据自己情况改一下,或者直接参考官网,我这就是官网的一个根据自己环境的阉割版。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。