• 售前

  • 售后

热门帖子
入门百科

centos6搭建gitlab的方法步调

[复制链接]
上是中国十七地 显示全部楼层 发表于 2021-10-26 13:18:52 |阅读模式 打印 上一主题 下一主题
媒介
原来的项目放在公网的gitlab上,处于安全思量,在内网搭建一套,有图形界面,可以直接从外网git导入进来,使用了一下觉得挺方便,把安装流程记载下来,参考官网:https://gitlab.com/gitlab-org/gitlab-recipes/tree/master/install/centos 可以直接移步那里看
根本环境安装(git\redis\ruby\mysql...)
  1. yum -y groupinstall 'Development Tools'
  2. 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
  3. yum -y install python-docutils
  4. yum -y install postfix
  5. git --version #安装高于2.7.4的git版本
  6. yum -y remove git
  7. yum install zlib-devel perl-CPAN gettext curl-devel expat-devel gettext-devel openssl-devel
  8. mkdir /tmp/git && cd /tmp/git
  9. curl --progress https://www.kernel.org/pub/software/scm/git/git-2.9.0.tar.gz | tar xz
  10. cd git-2.9.0
  11. ./configure
  12. make
  13. make prefix=/usr/local install
  14. yum remove ruby #安装高于2.1版本的ruby,删除老的
  15. mkdir /tmp/ruby && cd /tmp/ruby
  16. curl --progress https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.9.tar.gz | tar xz
  17. cd ruby-2.1.9
  18. ./configure --disable-install-rdoc
  19. make
  20. make prefix=/usr/local install
  21. gem install bundler --no-doc
  22. yum install redis mysql
  23. /Data/apps/mysql/bin/mysqld_safe &
  24. /Data/apps/mysql/bin/mysql -uroot
  25. mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
  26. mysql> grant all on gitlabhq_production.* to 'git'@'localhost' identified by 'git';
复制代码
设置redis
vim /etc/redis.conf
  1. unixsocket /var/run/redis/redis.sock
  2. unixsocketperm 0770
复制代码
  1. mkdir -p /var/run/redis
  2. chown redis:redis /var/run/redis
  3. chmod 755 /var/run/redis
  4. /etc/init.d/redis start
  5. usermod -aG redis git
复制代码
设置gitlab相干
  1. # 下载git,用的国内源。国外的太慢了
  2. cd /home/git
  3. sudo -u git -H git clone http://git.oschina.net/qiai365/gitlab-ce gitlab
  4. cd /home/git/gitlab
  5. sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml
  6. sudo -u git -H editor config/gitlab.yml
  7. # 修改成自己的host host: iaasgit1.prod.bj1
  8. sudo -u git -H cp config/secrets.yml.example config/secrets.yml
  9. sudo -u git -H chmod 0600 config/secrets.yml
  10. sudo chown -R git log/
  11. sudo chown -R git tmp/
  12. sudo chmod -R u+rwX,go-w log/
  13. sudo chmod -R u+rwX tmp/
  14. sudo chmod -R u+rwX tmp/pids/
  15. sudo chmod -R u+rwX tmp/sockets/
  16. sudo -u git -H mkdir public/uploads/
  17. sudo chmod 0700 public/uploads
  18. sudo chmod ug+rwX,o-rwx /home/git/repositories/
  19. sudo chmod -R u+rwX builds/
  20. sudo chmod -R u+rwX shared/artifacts/
  21. sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb
  22. nproc
  23. sudo -u git -H editor config/unicorn.rb
  24. sudo -u git -H cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rb
  25. sudo -u git -H git config --global core.autocrlf input
  26. sudo -u git -H git config --global gc.auto 0
  27. sudo -u git -H cp config/resque.yml.example config/resque.yml
  28. sudo -u git -H editor config/resque.yml
复制代码
设置db部门 only for mysql
  1. sudo -u git cp config/database.yml.mysql config/database.yml
  2. sudo -u git -H editor config/database.yml #配置production部分的password: "密码"
  3. sudo -u git -H chmod o-rwx config/database.yml
复制代码
安装gitlab相干,并启动
  1. # install gems
  2. cd /home/git/gitlab
  3. sudo -u git -H bundle install --deployment --without development test postgres aws kerberos
  4. # install gitlab shell
  5. sudo -u git -H bundle exec rake gitlab:shell:install[v3.3.3] REDIS_URL=unix:/var/run/redis/redis.sock RAILS_ENV=production
  6. sudo -u git -H editor /home/git/gitlab-shell/config.yml
  7. # install gitlab-workhorse
  8. cd /home/git
  9. sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-workhorse.git
  10. cd gitlab-workhorse
  11. sudo -u git -H git checkout v0.7.5
  12. sudo -u git -H make
  13. # Initialize Database and Activate Advanced Features
  14. cd /home/git/gitlab
  15. sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
  16. sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production GITLAB_ROOT_PASSWORD=yourpassword GITLAB_ROOT_EMAIL=youremail
  17. cp lib/support/init.d/gitlab /etc/init.d/gitlab
  18. cp lib/support/init.d/gitlab.default.example /etc/default/gitlab
  19. chkconfig gitlab on
  20. cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab
  21. sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production
  22. sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production
  23. service gitlab start
复制代码
设置nginx
  1. yum install nginx
  2. cp lib/support/nginx/gitlab /Data/apps/nginx/conf/include/gitlab.conf
  3. usermod -a -G git nginx
  4. chmod g+rx /home/git/
  5. /Data/apps/nginx/conf/include/gitlab.conf #把这个配置里的server_name配置好
复制代码
末了check一下
  1. cd /home/git/gitlab
  2. sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
  3. # 启动gitlab
  4. /etc/init.d/gitlab restart
  5. # 直接打开server_name对应的url,发现样式都没了,执行
  6. 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,路径和默认的差别,如果你用的默认的,可以根据自己情况改一下,或者直接参考官网,我这就是官网的一个根据自己环境的阉割版。
以上就是本文的全部内容,盼望对大家的学习有所资助,也盼望大家多多支持草根技术分享。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作