centos7 gitlab

 

yum -y update
chmod +x /etc/rc.d/rc.local

vi /etc/selinux/config
SELINUX=disabled
reboot

vi /etc/hosts
 
127.0.0.1 git.x2ce.com

 

Git

yum -y install git
git --version
#Make sure Git is version
2.7.4 or higher yum -y remove git yum -y install gcc zlib-devel perl-CPAN gettext curl-devel expat-devel gettext-devel openssl-devel cd /home wget https://www.kernel.org/pub/software/scm/git/git-2.8.2.tar.gz tar zxvf git-2.8.2.tar.gz cd git-2.8.2 ./configure --prefix=/usr/local make && make install git --version rm /home/git-2.8.2* -rf

 

Ruby

yum -y install ruby
ruby -v

#The current supported Ruby version is 2.1.x. Ruby 2.2 and 2.3 are currently not supported.

yum -y remove ruby
cd /home
wget https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.8.tar.gz
tar zxvf  ruby-2.1.8.tar.gz
cd ruby-2.1.8
 ./configure --prefix=/usr/local/ruby --disable-install-rdoc
 make && make install

ruby -v

rm /home/ruby-2.1.8* -rf

gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
gem sources -l

gem install bundler --no-ri --no-rdoc 
 

Mysql

cd /home
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum -y install mysql-community-server
yum -y install mysql-community-devel service mysqld restart mysql
-uroot update mysql.user set password=PASSWORD('密码') where User='root'; flush privileges; CREATE USER 'gitlab'@'localhost' IDENTIFIED BY 'gitLabdsdew8772'; SET storage_engine=INNODB; 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 ON `gitlabhq_production`.* TO 'gitlab'@'localhost'; mysql -ugitlab -pgitLabdsdew8772 -D gitlabhq_production

chown -R mysql:mysql /var/lib/mysql

rm -rf /home/mysql*

 

adduser --system --shell /bin/bash --comment 'GitLab' --create-home --home-dir /home/git/ git

chmod 777 /home/git

Redis 

 

cd /home

wget http://download.redis.io/redis-stable.tar.gz
tar zxvf redis-stable.tar.gz
cd redis-stable
make MALLOC=libc
make install

mkdir /etc/redis/

sed 's/^port .*/port 0/' redis.conf.orig |tee /etc/redis/redis.conf

echo 'unixsocket /var/run/redis/redis.sock' | sudo tee -a /etc/redis/redis.conf

echo 'unixsocketperm 770' | sudo tee -a /etc/redis/redis.conf

adduser redis

usermod -aG redis git

rm -rf redis-stable*

vi /etc/redis/redis

# chkconfig:   345 83 5
# Description:  Redis is a persistent key-value database  
PATH=/usr/local/bin:/sbin:/usr/bin:/bin     
EXEC=/usr/local/bin/redis-server  
REDIS_CLI=/usr/local/bin/redis-cli  
     
PIDFILE=/var/run/redis.pid  
CONF="/etc/redis/redis.conf"

USPATH=/var/run/redis/
USFILE=/var/run/redis/redis.sock
     
case "$1" in  
    start)  
        if [ -f $PIDFILE ]  
        then  
                echo "$PIDFILE exists, process is already running or crashed"  
        else  
        if [ ! -d $USPATH ]
        then
            mkdir $USPATH
                fi
                echo "Starting Redis server..."  
                $EXEC $CONF  
        fi  
        if [ "$?"="0" ]   
        then
          while [ ! -x $USFILE ]  
              do  
                    echo "Waiting for Redis to start ..."  
                    sleep 1  
              done
          chown -R redis:redis $USFILE
              echo "Redis is running..."  
        fi  
        ;;
    post)
    while [ ! -x $USFILE ]  
              do  
                    echo "Waiting for Redis to start ..."  
                    sleep 1  
              done
          chown -R redis:redis $USFILE
              echo "Redis is running..." 
    ;;
    stop)  
        if [ ! -f $PIDFILE ]  
        then  
                echo "$PIDFILE does not exist, process is not running"  
        else  
                PID=$(cat $PIDFILE)  
                echo "Stopping ..."  
                $REDIS_CLI -s $USFILE SHUTDOWN  
                while [ -x ${PIDFILE} ]  
                do  
                    echo "Waiting for Redis to shutdown ..."  
                    sleep 1  
                done  
                echo "Redis stopped"  
        fi  
        ;;  
   restart|force-reload)  
        ${0} stop  
        ${0} start  
        ;;  
  *)  
    echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2  
        exit 1  
esac

chmod +x /etc/redis/redis

vi /lib/systemd/system/redis-server.service

[Unit]
Description=redis server service -s
After=network.target

[Service]
ExecStart=/usr/bin/bash /etc/redis/redis start
ExecStartPost=/usr/bin/bash /etc/redis/redis post
ExecStop=/usr/bin/bash /etc/redis/redis stop
ExecReload=/usr/bin/bash /etc/redis/redis restart

[Install]
WantedBy=multi-user.target

chmod +x /lib/systemd/system/redis-server.service

systemctl enable redis-server

 

NodeJs 

cd /home

yum -y install gcc make gcc-c++ openssl-devel wget

wget https://nodejs.org/dist/v4.4.3/node-v4.4.3.tar.gz

tar -zvxf node-v4.4.3.tar.gz

cd node-v4.4.3

./configure
make && make install node -v rm -rf /home/node-v4.4.3*

Gitlab

yum -y install libicu-devel cmake gcc-c++

cd /home

wget https://storage.googleapis.com/golang/go1.5.3.linux-amd64.tar.gz

tar -C /usr/local -xzf go1.5.3.linux-amd64.tar.gz

ln -sf /usr/local/go/bin/{go,godoc,gofmt} /usr/local/bin/

rm -rf go1.5.3.linux-amd64.tar.gz

cd /home/git

sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 8-7-stable gitlab
cd /home/git/gitlab/ sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml sudo -u git -H vi config/gitlab.yml sudo -u git -H cp config/secrets.yml.example config/secrets.yml sudo -u git -H chmod 0600 config/secrets.yml chown -R git log/ chown -R git tmp/ chmod -R u+rwX,go-w log/ chmod -R u+rwX tmp/ chmod -R u+rwX tmp/pids/ chmod -R u+rwX tmp/sockets/ sudo -u git -H mkdir public/uploads/ chmod 0700 public/uploads chmod -R u+rwX builds/ chmod -R u+rwX shared/artifacts/ sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb nproc sudo -u git -H vi 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 user.name "GitLab" sudo -u git -H git config --global user.email "gitlab@text.com" 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 vi config/resque.yml sudo -u git cp config/database.yml.mysql config/database.yml sudo -u git -H vi config/database.yml sudo -u git -H chmod o-rwx config/database.yml sudo -u git -H bundle install --deployment --without development test postgres aws ln -s /usr/local/bin/git /usr/bin/git sudo -u git -H bundle exec rake gitlab:shell:install REDIS_URL=unix:/var/run/redis/redis.sock RAILS_ENV=production sudo -u git -H vi /home/git/gitlab-shell/config.yml sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production 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.1 sudo -u git -H make cd /home/git/gitlab/

vi /etc/rc.local

/home/git/gitlab/lib/support/init.d/gitlab start >> /home/logs/gitlab.log
cp lib/support/init.d/gitlab.default.example /etc/default/gitlab 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 wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm yum install -y nginx chkconfig nginx on wget -O /etc/nginx/conf.d/gitlab.conf https://gitlab.com/gitlab-org/gitlab-ce/raw/master/lib/support/nginx/gitlab vi /etc/nginx/conf.d/gitlab.conf vi /etc/nginx/conf.d/ usermod -a -G git nginx cd /home/git/gitlab/ sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production

 

转载于:https://www.cnblogs.com/fr5s/p/5448218.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值