设为首页 收藏本站
查看: 1937|回复: 0

[经验分享] Gitlab源码手动安装

[复制链接]

尚未签到

发表于 2018-9-19 11:49:39 | 显示全部楼层 |阅读模式
  Gitlab安装和配置
  系统环境:ubuntu 14.04.1_64bit
  参考网址:
  https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md
  一、    设置apt源及DNS:
  //配置apt源
  # vim /etc/apt/sources.list
  deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
  deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
  deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
  deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
  deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
  deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
  deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
  deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
  deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
  deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
  deb http://mirrors.sohu.com/ubuntu/ trusty main restricted universe multiverse
  deb http://mirrors.sohu.com/ubuntu/ trusty-security main restricted universe multiverse
  deb http://mirrors.sohu.com/ubuntu/ trusty-updates main restricted universe multiverse
  deb http://mirrors.sohu.com/ubuntu/ trusty-proposed main restricted universe multiverse
  deb http://mirrors.sohu.com/ubuntu/ trusty-backports main restricted universe multiverse
  deb-src http://mirrors.sohu.com/ubuntu/ trusty main restricted universe multiverse
  deb-src http://mirrors.sohu.com/ubuntu/ trusty-security main restricted universe multiverse
  deb-src http://mirrors.sohu.com/ubuntu/ trusty-updates main restricted universe multiverse
  deb-src http://mirrors.sohu.com/ubuntu/ trusty-proposed main restricted universe multiverse
  deb-src http://mirrors.sohu.com/ubuntu/ trusty-backports main restricted universe multiverse
  deb http://mirrors.oschina.net/ubuntu/ trusty main restricted universe multiverse
  deb http://mirrors.oschina.net/ubuntu/ trusty-backports main restricted universe multiverse
  deb http://mirrors.oschina.net/ubuntu/ trusty-proposed main restricted universe multiverse
  deb http://mirrors.oschina.net/ubuntu/ trusty-security main restricted universe multiverse
  deb http://mirrors.oschina.net/ubuntu/ trusty-updates main restricted universe multiverse
  deb-src http://mirrors.oschina.net/ubuntu/ trusty main restricted universe multiverse
  deb-src http://mirrors.oschina.net/ubuntu/ trusty-backports main restricted universe multiverse
  deb-src http://mirrors.oschina.net/ubuntu/ trusty-proposed main restricted universe multiverse
  deb-src http://mirrors.oschina.net/ubuntu/ trusty-security main restricted universe multiverse
  deb-src http://mirrors.oschina.net/ubuntu/ trusty-updates main restricted universe multiverse
  //修改dns
  #sudo vim /etc/resolv.conf
  nameserver 202.106.0.20
  nameserver 8.8.8.8
  nameserver 202.96.134.133
  nameserver 202.96.128.68
  #sudo vim /etc/hosts
  115.28.122.210  mirrors.aliyun.com
  112.124.140.210 mirrors.aliyun.com
  #sudo apt-get update -y
  #sudo apt-get upgrade -y
  二、安装依赖包:
  #sudo apt-get install -y build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl openssh-server redis-server checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev logrotate python-docutils pkg-config cmake libkrb5-dev
  三、    安装git:
  //若原来的git版本太低,可以卸载重新安装:
  #sudo apt-get remove git-core
  //安装依赖包:
  #sudo apt-get install -y libcurl4-openssl-dev libexpat1-dev gettext libz-dev libssl-dev build-essential
  //下载安装git:
  #sudo mkdir /opt/gitlab
  #cd /opt/gitlab
  #wget https://www.kernel.org/pub/software/scm/git/git-2.1.2.tar.gz
  #tar –zxvf git-2.1.2.tar.gz
  #cd git-2.1.2
  #sudo ./configure
  #sudo make prefix=/usr/local all
  #sudo make prefix=/usr/local install #安装git到/usr/local/下
  //给gitlab创建git用户:
  # sudo adduser --disabled-login --gecos 'GitLab' git
  //安装postfix邮件服务器
  # sudo apt-get install -y postfix
  四、    安装ruby:
  //移除旧版本,安装新版本:
  # sudo apt-get remove ruby1.8
  #cd /opt
  #wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.tar.gz
  #tar –zxvf ruby-2.1.5.tar.gz
  #cd ruby-2.1.5
  #sudo ./configure --disable-install-rdoc
  #sudo make
  # sudo make install
  //安装Bundler Gem:
  # sudo gem install bundler --no-ri --no-rdoc
  五、安装mysql数据库
  #sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev
  # mysql –version
  //安装设置mysql的root密码:
  # sudo mysql_secure_installation
  # mysql -u root –p
  //创建一个gitlab数据库用户:

  mysql> CREATE USER 'git'@'localhost'>  //设定存储引擎为innodb,若报错,检查/etc/mysql/*.cnf、/etc/mysql/conf.d/*中"innodb = off"的设置:
  mysql> SET storage_engine=INNODB;
  //创建gitlab生产环境使用的数据库:
  mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;

  mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX,>  mysql> \q;
  //使用新用户登录新数据库:
  # sudo -u git -H mysql -u git -p -D gitlabhq_production
  //登录成功,证明设置生效,退出:
  mysql> \q
  六、    安装redis
  # sudo apt-get install redis-server
  # sudo cp /etc/redis/redis.conf /etc/redis/redis.conf.orig
  //redis端口默认6379,官网设置为0,我设置为6379
  # sed 's/^port .*/port 6379/' /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
  # echo 'unixsocketperm 770' | sudo tee -a /etc/redis/redis.conf
  # mkdir /var/run/redis
  # chown redis:redis /var/run/redis
  # 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
  # sudo service redis-server restart
  # sudo usermod -aG redis git
  七、    安装gitlab
  1、克隆仓库:
  安装gitlab到/home/git:
  #cd /home/git
  //克隆7.6版本的gitlab仓库到服务器上:
  # sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 7-6-stable gitlab
  #cd /home/git/gitlab
  #sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml
  2、修改配置:
  //修改gitlab配置文件gitlab.yml:
  #sudo -u git -H vim config/gitlab.yml
  (1) 在gitlab一栏下:
  host改为gitlab服务器ip,port改为自定义端口
  (2)找到email_from字段,改为公司邮箱
  (3)找到default_projects_features字段,issues、merge_requests、wiki为true,snippets为false,visibility_level为private
  (4)找到issues_tracker一栏,添加jira选项,如下图:
  jira:

  >  project_url: "http://10.0.1.2:8080/issues/?jql=project=:issues_tracker_id"
  issues_url: "http://10.0.1.2:8080/browse/:id"
  new_issue_url: "http://10.0.1.2:8080/secure/CreateIssue.jspa"
  //gravatar一栏默认:
  //ldap一栏默认:
  //amniauth一栏默认:
  (5) GitLab Satellites一栏,修改为安装目录路径:
  satellites:
  path: /home/git/gitlab-satellites/
  backup:
  path: "tmp/backups"
  (6) GitLab Shell一栏,修改为安装目录路径:
  gitlab_shell:
  path: /home/git/gitlab-shell/
  repos_path: /home/git/repositories/
  hooks_path: /home/git/gitlab-shell/hooks/
  upload_pack: true
  receive_pack: true
  (7)git一栏设置为git环境变量,max_size根据业务修改:
  #which git
  git:
  bin_path: /usr/bin/git
  max_size: 20971520
  timeout: 10
  //其他默认不变:
  3、设置gitab对log、tmp目录有写权限:
  #sudo chown -R git log/
  #sudo chown -R git tmp/
  #sudo chmod -R u+rwX,go-w log/
  #sudo chmod -R u+rwX tmp/
  4、创建gitlab-satellites目录:
  #sudo -u git -H mkdir /home/git/gitlab-satellites
  #sudo chmod u+rwx,g=rx,o-rwx /home/git/gitlab-satellites
  //修改对tmp目录、public目录权限:
  #sudo chmod -R u+rwX tmp/pids/
  #sudo chmod -R u+rwX tmp/sockets/
  #sudo chmod -R u+rwX  public/uploads
  5、修改unicorn.rb文件:
  #sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb
  //查看核心数,根据内核数来设定worker_processes值:
  #nproc
  //将默认路径改为安装目录:
  #sudo -u git –H vim config/unicorn.rb
  worker_processes 2
  working_directory "/home/git/gitlab"
  listen "/home/git/gitlab/tmp/sockets/gitlab.socket", :backlog => 64
  listen "127.0.0.1:8080", :tcp_nopush => true
  timeout 30
  pid "/home/git/gitlab/tmp/pids/unicorn.pid"
  stderr_path "/home/git/gitlab/log/unicorn.stderr.log"
  stdout_path "/home/git/gitlab/log/unicorn.stdout.log"
  //其他默认不变:
  6、设置git的全局配置:
  # sudo -u git -H cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rb
  //配置全局用户为git:
  # sudo -u git -H git config --global user.name "git"
  //配置全局邮箱为gitlab.yml中设置的邮箱:
  # sudo -u git -H git config --global user.email 公司邮箱名
  # sudo -u git -H git config --global core.autocrlf input
  7、修改redis连接设置:
  # sudo -u git -H cp config/resque.yml.example config/resque.yml
  # sudo -u git -H vim config/resque.yml
  //此处若不使用系统默认的resque.yml,需要自己修改redis socket路径。
  备注:确保gitlab.yml 和unicorn.rb的修改匹配你的设置
  8、修改Gitlab DB 设置:
  #sudo -u git cp config/database.yml.mysql config/database.yml
  //只修改生产环境中设置,更新用户和密码,密码使用双引号:
  # sudo –u git –H vim config/database.yml
  production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: gitlabhq_production
  pool: 10
  username: git
  password: "git"
  //设置git用户对database.yml有读的权限:
  # sudo -u git -H chmod o-rwx config/database.yml
  9、安装Gems:
  //先确保bundler 版本>=1.5.2(执行bundle -v)
  #sudo -u git -H bundle install --deployment --without development test postgres aws
  10、安装GitLab Shell:
  //GitLab Shell是一个用于ssh访问权限认证和仓库管理的软件:
  #sudo -u git -H bundle exec rake gitlab:shell:install[v2.4.0] REDIS_URL=unix:/var/run/redis/redis.sock RAILS_ENV=production
  //修改GitLab Shell的配置文件config.yml,修改gitlab的用户为git、web登录地址gitlab_url、仓库放置路径字段repos_path、认证密钥路径字段auth_file、redis主机和端口:
  #sudo -u git -H vim /home/git/gitlab-shell/config.yml
  11、初始化数据库:
  //初始化数据库,产生一个默认用户和密码:
  #sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
  //设置gitlab的web登录新账号和密码后,一定记住!
  #sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production GITLAB_ROOT_PASSWORD=”12345678”
  account: root, 12345678
  12、安装gitlab初始启动脚本init:
  #sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
  #sudo cp lib/support/init.d/gitlab.default.example /etc/default/gitlab
  备注:若安装gitlab不是默认目录,必须修改/etc/default/gitlab中相关路径
  //设置gitlab自启动
  #sudo update-rc.d gitlab defaults 21
  13、设置日志轮询:
  #sudo cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab
  14、检查gitlab服务和环境变量配置是否正确:
  #sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production
  15、编译assets:
  #sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production
  //启动gitlab实例
  #sudo service gitlab start
  #ps auxww
  八、    安装Nginx:
  1、安装nginx:
  #sudo apt-get install -y nginx
  2、站点配置:
  //复制模版:
  #sudo cp lib/support/nginx/gitlab /etc/nginx/sites-available/gitlab #sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab
  //修改站点监听端口、ip、日志目录、socket路径、站点public目录:
  #sudo vim /etc/nginx/sites-available/gitlab
  upstream gitlab {
  server unix:/home/git/gitlab/tmp/sockets/gitlab.socket;
  }
  server {
  listen *:8088 default_server;
  server_name 10.0.1.1;
  server_tokens off;
  root /home/git/gitlab/public;
  client_max_body_size 5m;
  access_log  /var/log/nginx/gitlab_access.log;
  error_log   /var/log/nginx/gitlab_error.log;
  //其他默认不变:
  3、测试配置:
  #sudo nginx -t
  nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
  nginx: configuration file /etc/nginx/nginx.conf test is successful
  //重启nginx
  #sudo service nginx restart
  到此,gitlab搭建完成!!!
  //检测所有应用是否正常:
  #sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
  都是绿色ok,表示正常。
  打开浏览器,输入:10.0.1.1:8088,输入账号、密码登录测试


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-594228-1-1.html 上篇帖子: CentOS下一键安装GitLab 下篇帖子: 如何在Ubuntu Server 11.10上安装GitLab
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表