centos6搭建gitlab的方法步骤
前言
原来的项目放在公网的gitlab上,处于安全考虑,在内网搭建一套,有图形界面,可以直接从外网git导入进来,使用了一下觉得挺方便,把安装流程记录下来,参考官网:https://gitlab.com/gitlab-org/gitlab-recipes/tree/master/install/centos可以直接移步那里看
基本环境安装(git\redis\ruby\mysql...)
yum-ygroupinstall'DevelopmentTools' yum-yinstallreadlinereadline-develncurses-develgdbm-develglibc-develtcl-developenssl-develcurl-develexpat-develdb4-develbyaccsqlite-devellibyamllibyaml-devellibffilibffi-devellibxml2libxml2-devellibxsltlibxslt-devellibiculibicu-develsystem-config-firewall-tuiredissudowgetcrontabslogwatchlogrotateperl-Time-HiResgitcmakelibcom_err-devel.i686libcom_err-devel.x86_64nodejs yum-yinstallpython-docutils yum-yinstallpostfix git--version#安装高于2.7.4的git版本 yum-yremovegit yuminstallzlib-develperl-CPANgettextcurl-develexpat-develgettext-developenssl-devel mkdir/tmp/git&&cd/tmp/git curl--progresshttps://www.kernel.org/pub/software/scm/git/git-2.9.0.tar.gz|tarxz cdgit-2.9.0 ./configure make makeprefix=/usr/localinstall yumremoveruby#安装高于2.1版本的ruby,删除老的 mkdir/tmp/ruby&&cd/tmp/ruby curl--progresshttps://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz|tarxz cdruby-2.1.9 ./configure--disable-install-rdoc make makeprefix=/usr/localinstall geminstallbundler--no-doc yuminstallredismysql /Data/apps/mysql/bin/mysqld_safe& /Data/apps/mysql/bin/mysql-uroot mysql>CREATEDATABASEIFNOTEXISTS`gitlabhq_production`DEFAULTCHARACTERSET`utf8`COLLATE`utf8_unicode_ci`; mysql>grantallongitlabhq_production.*to'git'@'localhost'identifiedby'git';
配置redis
vim/etc/redis.conf
unixsocket/var/run/redis/redis.sock unixsocketperm0770
mkdir-p/var/run/redis chownredis:redis/var/run/redis chmod755/var/run/redis /etc/init.d/redisstart usermod-aGredisgit
配置gitlab相关
#下载git,用的国内源。国外的太慢了 cd/home/git sudo-ugit-Hgitclonehttp://git.oschina.net/qiai365/gitlab-cegitlab cd/home/git/gitlab sudo-ugit-Hcpconfig/gitlab.yml.exampleconfig/gitlab.yml sudo-ugit-Heditorconfig/gitlab.yml #修改成自己的hosthost:iaasgit1.prod.bj1 sudo-ugit-Hcpconfig/secrets.yml.exampleconfig/secrets.yml sudo-ugit-Hchmod0600config/secrets.yml sudochown-Rgitlog/ sudochown-Rgittmp/ sudochmod-Ru+rwX,go-wlog/ sudochmod-Ru+rwXtmp/ sudochmod-Ru+rwXtmp/pids/ sudochmod-Ru+rwXtmp/sockets/ sudo-ugit-Hmkdirpublic/uploads/ sudochmod0700public/uploads sudochmodug+rwX,o-rwx/home/git/repositories/ sudochmod-Ru+rwXbuilds/ sudochmod-Ru+rwXshared/artifacts/ sudo-ugit-Hcpconfig/unicorn.rb.exampleconfig/unicorn.rb nproc sudo-ugit-Heditorconfig/unicorn.rb sudo-ugit-Hcpconfig/initializers/rack_attack.rb.exampleconfig/initializers/rack_attack.rb sudo-ugit-Hgitconfig--globalcore.autocrlfinput sudo-ugit-Hgitconfig--globalgc.auto0 sudo-ugit-Hcpconfig/resque.yml.exampleconfig/resque.yml sudo-ugit-Heditorconfig/resque.yml
配置db部分onlyformysql
sudo-ugitcpconfig/database.yml.mysqlconfig/database.yml sudo-ugit-Heditorconfig/database.yml#配置production部分的password:"密码" sudo-ugit-Hchmodo-rwxconfig/database.yml
安装gitlab相关,并启动
#installgems cd/home/git/gitlab sudo-ugit-Hbundleinstall--deployment--withoutdevelopmenttestpostgresawskerberos #installgitlabshell sudo-ugit-Hbundleexecrakegitlab:shell:install[v3.3.3]REDIS_URL=unix:/var/run/redis/redis.sockRAILS_ENV=production sudo-ugit-Heditor/home/git/gitlab-shell/config.yml #installgitlab-workhorse cd/home/git sudo-ugit-Hgitclonehttps://gitlab.com/gitlab-org/gitlab-workhorse.git cdgitlab-workhorse sudo-ugit-Hgitcheckoutv0.7.5 sudo-ugit-Hmake #InitializeDatabaseandActivateAdvancedFeatures cd/home/git/gitlab sudo-ugit-Hbundleexecrakegitlab:setupRAILS_ENV=production sudo-ugit-Hbundleexecrakegitlab:setupRAILS_ENV=productionGITLAB_ROOT_PASSWORD=yourpasswordGITLAB_ROOT_EMAIL=youremail cplib/support/init.d/gitlab/etc/init.d/gitlab cplib/support/init.d/gitlab.default.example/etc/default/gitlab chkconfiggitlabon cplib/support/logrotate/gitlab/etc/logrotate.d/gitlab sudo-ugit-Hbundleexecrakegitlab:env:infoRAILS_ENV=production sudo-ugit-Hbundleexecrakeassets:precompileRAILS_ENV=production servicegitlabstart
配置nginx
yuminstallnginx cplib/support/nginx/gitlab/Data/apps/nginx/conf/include/gitlab.conf usermod-a-Ggitnginx chmodg+rx/home/git/ /Data/apps/nginx/conf/include/gitlab.conf#把这个配置里的server_name配置好
最后check一下
cd/home/git/gitlab sudo-ugit-Hbundleexecrakegitlab:checkRAILS_ENV=production #启动gitlab /etc/init.d/gitlabrestart #直接打开server_name对应的url,发现样式都没了,执行 sudo-ugit-Hbundleexecrakeassets:cleanassets:precompileREDIS_URL=unix:/var/run/redis/redis.sockRAILS_ENV=production
最后说明一下
这个只是记一个流水账,里边可能涉及到权限之类的问题,在确保一下nginx\git互相之间是否有权限,另外用check脚本进行check,提示很友好,一般都能搞定,祝你成功。
中间使用的yum由于用的是重写打包过的rpm,路径和默认的不同,如果你用的默认的,可以根据自己情况改一下,或者直接参考官网,我这就是官网的一个根据自己环境的阉割版。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。