gitlab部署
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,一、配置epel源wget http://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch.rpmrpm -ivh epel-r
千家信息网最后更新 2025年02月23日gitlab部署
一、配置epel源
wget http://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch.rpmrpm -ivh epel-release-6-8.noarch.rpm
二、安装依赖包
yum -y install libicu-devel patch gcc-c++ readline-devel zlib-devel libffi-devel openssl-devel make cmake autoconf automake libtool bison libxml2-devel libxslt-devel libyaml-devel zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
三、安装git
下载链接:
wget -O git-src.zip https://github.com/git/git/archive/master.zip
[root@localhost ~]# unzip git-src.zip[root@localhost ~]# cd git-master/[root@localhost git-master]# make prefix=/usr/local all[root@localhost git-master]# make prefix=/usr/local install[root@localhost git-master]# ln -fs /usr/local/bin/git* /usr/bin/
四、安装ruby
[root@localhost src]# wget ftp://ftp.ruby-lang.org/pub/ruby/ruby-2.1.5.tar.gz[root@localhost src]# tar-zxf ruby-2.1.5.tar.gz[root@localhost src]# cd ruby-2.1.5[root@localhost ruby-2.1.5]# ./configure --disable-install-rdoc && make && make install[root@localhost ~]# ln -s /usr/local/bin/ruby /usr/bin/ruby[root@localhost ~]# ln -s /usr/local/bin/gem /usr/bin/gem[root@localhost ~]# gem install bundler --no-ri --no-rdoc[root@localhost ~]# ln -s /usr/local/bin/bundle /usr/bin/bundle
五、安装mysql并初始化gitlab库
[root@localhost ~]# yum -y install mysql mysql-devel mysql-server[root@localhost ~]# service mysqld start[root@localhost ~]# chkconfig mysqld on[root@localhost ~]# mysqlmysql> create database gitlab;mysql> grant all privileges on gitlab.* to 'gitlab'@'localhost' identified by 'gitlab';
测试是否可以用gitlab登录数据库:
[root@localhost ~]# mysql -u gitlab -p -D gitlabEnter password:
六、安装redis
[root@localhost ~]# yum -y install redis[root@localhost ~]# vi /etc/redis.conf 36 unixsocket /tmp/redis.sock 37 unixsocket perm 755[root@localhost ~]# service redis start[root@localhost ~]# chkconfig redis on
七、创建git用户并允许sudo
[root@localhost ~]# useradd gitecho "git ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
八、安装gitlab
[root@localhost ~]# cd /home/git/[root@localhost git]# sudo -u git -H git clone -b 7-8-stable gitlab[root@localhost git]# cd gitlab[root@localhost gitlab]# cp config/gitlab.yml.example config/gitlab.yml[root@localhost gitlab]# vi config/gitlab.yml 20 host: localhost 21 port: 80 267 bin_path: /usr/bin/git[root@localhost gitlab]# chown -R git log/[root@localhost gitlab]# chown -R git tmp/[root@localhost gitlab]# chmod -R u+rwX log/[root@localhost gitlab]# chmod -R u+rwX tmp/[root@localhost gitlab]# sudo -u git -H mkdir /home/git/gitlab-satellites[root@localhost gitlab]# sudo chmod u+rwx,g=rx,o-rwx /home/git/gitlab-satellites[root@localhost gitlab]# chmod -R u+rwX tmp/pids/[root@localhost gitlab]# chmod -R u+rwX tmp/sockets[root@localhost gitlab]# chmod -R u+rwX public/uploads/[root@localhost gitlab]# cp config/unicorn.rb.example config/unicorn.rb[root@localhost gitlab]# cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rb
以上不存在的目录,手动创建。
配置数据库:
[root@localhost gitlab]# cp config/database.yml.mysql config/database.yml[root@localhost gitlab]# vi config/database.yml 9 database: gitlab #这里的数据库要跟在mysql中创建的库名一致。 10 pool: 10 11 username: gitlab 12 password: gitlab
九、安装gitlab-shell
[root@localhost ~]# cd /home/git/[root@localhost git]# sudo -u git -H git clone -b v2.6.0[root@localhost git]# cd gitlab-shell/[root@localhost gitlab-shell]# cp config.yml.example config.yml[root@localhost gitlab-shell]# vi config.yml 9 gitlab_url: http://localhost:8080/ 30 bin: /usr/bin/redis-cli[root@localhostgitlab-shell]# sudo -u git -H ./bin/install
十、nginx安装
[root@localhost src]# tar -zxf pcre-8.38.tar.gz[root@localhost src]# cd pcre-8.38[root@localhostp cre-8.38]# ./configure --prefix=/usr/local/pcre-8.38 && make && make install[root@localhost src]# wget http://124.205.69.171/files/8095000002FE839E/nginx.org/download/nginx-1.8.1.tar.gz[root@localhost src]# tar -zxf nginx-1.8.1.tar.gz[root@localhost src]# cd nginx-1.8.1[root@localhost nginx-1.8.1]# ./configure --prefix=/usr/local/nginx --user=git --group=git--with-http_ssl_module --with-http_stub_status_module --with-pcre=/usr/local/src/pcre-8.38/ && make && make install
十一、安装需要的gems
[root@localhost ~]# cd /home/git/gitlab[root@localhost gitlab]# sudo -u git -H bundle install --deployment --without development testpostgres aws
十二、初始化数据库
[root@localhost gitlab]# sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
十三、拷贝启动文件脚本及日志切割文件
[root@localhost gitlab]# cp lib/support/init.d/gitlab /etc/init.d/gitlab[root@localhost gitlab]# cp lib/support/init.d/gitlab.default.example /etc/default/gitlab[root@localhost gitlab]# cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab
十四、设置git账号信息
[root@localhost gitlab]# sudo -u git -H "/usr/bin/git" config --global user.name "GitLab"[root@localhost gitlab]# sudo -u git -H "/usr/bin/git" config --global user.email "example@example.com"[root@localhost gitlab]# sudo -u git -H "/usr/bin/git" config --global core.autocrlf "input"
十五、配置nginx
[root@localhost ~]# vi /usr/local/nginx/conf/nginx.conf upstream gitlab { server unix:/home/git/gitlab/tmp/sockets/gitlab.socket; } server { listen 80; server_name localhost; access_log /var/log/nginx/gitlab_access.log; error_log /var/log/nginx/gitlab_error.log; root /home/git/gitlab/public; location / { try_files $uri $uri/index.html $uri.html @gitlab; } location @gitlab { proxy_read_timeout 300; proxy_connect_timeout 300; proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://gitlab; } }[root@localhost ~]# mkdir -p /var/log/nginx[root@localhost ~]# chown -R git:git/var/log/nginx/[root@localhost ~]# chown -R git:git /usr/local/nginx/[root@localhost ~]# /usr/local/nginx/sbin/nginx -t[root@localhost gitlab]# service nginx restart
十六、检测当前环境
[root@localhostgitlab]# sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production
可能会有报错:Error: Table 'gitlab.projects' doesn't exist
这时重新初始化数据库,执行以下命令:
[root@localhost gitlab]# sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
会发现,执行结束时生成了一个登录账号和密码:
login.........rootpassword......5iveL!fe 用来登录gitlab
再次执行环境检测命令……OK
十七、拉取gitlab静态资源文件
[root@localhost gitlab]# sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production
十八、启动gitlab
[root@localhost gitlab]# /etc/init.d/gitlab start[root@localhost gitlab]# sudo chmod -R ug+rwX,o-rwx /home/git/repositories/[root@localhost gitlab]# sudo chmod -R ug-s /home/git/repositories/[root@localhost gitlab]# find /home/git/repositories/ -type d -print0 | sudo xargs -0 chmod g+s
十九、检测各个组件是否正常工作
[root@localhost gitlab]#sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
错误一:Send ping to redisserver: Could not connect to Redis at /tmp/redis.sock: Permission denied
[root@localhost gitlab]#vi /home/git/gitlab-shell/config.yml35 #socket: /tmp/redis.sock # Comment out thisline if you want to use TCP
错误二:用浏览器访问时,出现"502 Bad Gateway"
编译nginx时指定 --user=git --group=git
[root@localhost ~]# vi/usr/local/nginx/conf/nginx.conf 2 user git;
数据
数据库
文件
检测
登录
配置
命令
环境
账号
错误
一致
信息
再次
密码
手动
拷贝
日志
浏览器
环境检测
用户
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
泓阳网络技术有限公司
创意工坊链接服务器错误
英雄联盟所有服务器人数
我的世界适合玩生存的服务器
数据库门户是不是就是客户端
专硕数据库
计算机数据库国内最高水平院校
深圳公狼网络技术有限公司
数据库技术武术
智能信用卡软件开发
安徽人口管理系统软件开发
爱客宝网络技术有限公司
家用服务器 cpu
联想服务器硬盘位置
网络安全徐国爱课后习题答案
小程序连接服务器
bseg在哪个数据库表下
第五届上海网络安全
数据库的安全性主要是保证
服务器以太网口无法识别
霞浦县凡人网络技术服务部
服务器所有硬件的日志怎么查看
杭州边锋网络技术有限公
电影编辑软件开发
西城区技术软件开发服务咨询报价
科技人才数据库
软件开发验收单模版
杭州巨旗互联网络科技有限公司
保存到服务器
通信和网络技术的工作内容