当前位置:首页 » 操作系统 » gitlab数据库

gitlab数据库

发布时间: 2022-05-17 13:37:22

‘壹’ gitlab在数据库中存放了哪些东西

将GitLab的数据库导入阿里云Postgresql RDS GitLab的数据库用的是PostgreSQL,之前由于阿里云RDS不支持PostgreSQL,只能将GitLab的数据库部署在云服务器上。 6月1日得知阿里云推出了PostgreSQL RDS,于是立马将GitLab的数据库迁移至PostgreSQL

‘贰’ 如何在 CentOS 上安装 Gitlab

#gitlab基于ruby开发模仿Github的版本控制软件,因为是开源的,,但是我们确实有这样的需求,相比Gtihub来说可以减少很多成本.
#从安装ruby、git、数据库、web、和gitlab到访问,一定要有耐心.
#安装环境
##[root@localhost config]# uname -r
##2.6.32-279.el6.x86_64
##[root@localhost config]# cat /etc/redhat-release
##CentOS release 6.3 (Final)
一.安装依赖
## 安装epel-release
yum -y install http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
#安装ruby依赖包
## packages (from rvm install message):
yum -y install libicu-devel patch gcc-c++ readline-devel zlib-devel libffi-devel openssl-devel make autoconf automake libtool bison libxml2-devel libxslt-devel libyaml-devel mysql-devel
#安装或者更新git
yum -y remove git
yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
wget http://git-core.googlecode.com/files/git-1.8.3.4.tar.gz
tar -zxf git-1.8.3.4.tar.gz
cd git-1.8.3.4
make prefix=/usr all
make prefix=/usr install
cd ..
#安装前版本
[root@gitlab ~]# git –version
git version 1.7.1
#安装后版本
[root@gitlab ~]# git –version
git version 1.8.3.4
二.安装RVM
#RVM工具
curl -L get.rvm.io | bash -s stable
#出现以下信息为安装成功
# Administrator,
#
# Thank you for using RVM!
# We sincerely hope that RVM helps to make your life easier and more enjoyable!!!
#
# ~Wayne, Michal & team.
#加载RVM,改名(使用淘宝源)
source /etc/profile.d/rvm.sh
cp /usr/local/rvm/config/db /usr/local/rvm/config/db.bk
sed -i 's#ftp.ruby-lang.org/pub/ruby#ruby.taobao.org/mirrors/ruby#' /usr/local/rvm/config/db
sed -i 's#cache.ruby-lang.org/pub/ruby#ruby.taobao.org/mirrors/ruby#' /usr/local/rvm/config/db
#安装libyaml(防止后期报错,可不装)
rvm pkg install libyaml
三.安装ruby
#安装ruby
#rvm install 2.0.0-p247 –with-libyaml-dir=/usr/local/rvm/usr
#rvm –default use 2.0.0-p247
rvm install 2.0.0-p353 –with-libyaml-dir=/usr/local/rvm/usr
rvm –default use 2.0.0-p353
#引用淘宝ruby源
gem sources –remove https://rubygems.org/
gem sources -a http://ruby.taobao.org/
gem sources -l
#安装bundler
gem install bundler –no-ri –no-rdoc
四.安装gitlab-shell
#创建用户git
adser –system –create-home –comment 'GitLab' git
#复制gitlab-shell到本地
su – git -c "git clone https://github.com/gitlabhq/gitlab-shell.git"
su – git -c "cd gitlab-shell;git checkout v1.7.0"
##修改配置文件
su – git -c "cp gitlab-shell/config.yml.example gitlab-shell/config.yml"
##安装
su – git -c "gitlab-shell/bin/install"
五.安装Redis和mysql
#安装Redis,据说高级特性需要
yum -y install redis ;service redis start ; chkconfig redis on
#安装mysql
#安装Mysql数据库.略过,以及数据库操作
##yum install -y mysql-server mysql-devel ; chkconfig mysqld on ; service mysqld start
#编译安装宣告下变量
##export PATH="/opt/mysql/bin:$PATH"
##echo "export PATH="/opt/mysql/bin:$PATH"">>/etc/profile
##修改root密码
#echo "UPDATE mysql.user SET Password=PASSWORD('$MYSQL_ROOT_PW') WHERE User='root'; FLUSH PRIVILEGES;" | mysql -u root
##创建gitlab数据库
#echo "CREATE DATABASE IF NOT EXISTS gitlabhq_proction DEFAULT CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';" | mysql -u root
CREATE DATABASE IF NOT EXISTS gitlabhq_proction DEFAULT CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';
##创建连接数据库用户
grant all on gitlabhq_proction.* to gitlab@localhost identified by '123456';
六.安装gitlab
#复制GitLab到本地
su – git -c "git clone https://github.com/gitlabhq/gitlabhq.git gitlab"
## 检查
su – git -c "cd gitlab;git checkout 5-4-stable"
#以下操作在/home/git/gitlab
cd /home/git/gitlab
### 复制配置文件
su git -c "cp config/gitlab.yml.example config/gitlab.yml"
### 修改配置文件主机名(可以不做)
sed -i "s/ host: localhost/ host: gitlab.test/g" config/gitlab.yml
### 修改邮件地址
sed -i "s/from: gitlab@localhost/from: [email protected]/g" config/gitlab.yml
#修改puma.rb文件
su git -c "cp config/puma.rb.example config/puma.rb"
sed -i "s/0.0.0.0:9292/127.0.0.1:3000/g" /home/git/gitlab/config/puma.rb
sed -i "s/# bind/bind/g" /home/git/gitlab/config/puma.rb
#为git用户授权
su git -c "chown -R git /home/git/gitlab/log/;chmod -R u+rwx /home/git/gitlab/log/;chown -R git /home/git/gitlab/tmp/;chmod -R u+rwx /home/git/gitlab/tmp/;mkdir /home/git/gitlab-satellites;mkdir /home/git/gitlab/tmp/pids/;chmod -R u+rwx /home/git/gitlab/tmp/pids/;mkdir /home/git/gitlab/tmp/sockets/;chmod -R u+rwx /home/git/gitlab/tmp/sockets/;mkdir /home/git/gitlab/public/uploads;chmod -R u+rwX /home/git/gitlab/public/uploads"
### 复制数据配置文件
su git -c "cp config/database.yml.mysql config/database.yml"
### 设置mysql用户和密码
sed -i "s/root/gitlab/g" config/database.yml
sed -i "s/secure password/123456/g" config/database.yml
### 配置git用户

su git -c 'git config --global user.name "GitLab"'
su git -c 'git config --global user.email "gitlab@$GL_HOSTNAME"'

七.安装 Gems
## 安装

gem install charlock_holmes --version '0.6.9'

#bundle使用淘宝源,并且安装(时间长.)
sed -i '1s/https/http/g' /home/git/gitlab/Gemfile
sed -i '1s/rubygems/ruby.taobao/g' /home/git/gitlab/Gemfile
#安装bundle
su git -c "bundle install –deployment –without development test postgres"
八.初始化数据库
#初始化数据库

export force=yes
su git -c "bundle exec rake gitlab:start RAILS_ENV=proction"
su git -c "bundle exec rake gitlab:setup RAILS_ENV=proction"

#初始化在数据库里添加数据,最后后会出现:
#用户名:[email protected]
#密 码:5iveL!fe
#su git -c "bundle exec rake gitlab:env:info RAILS_ENV=proction"
九.启动脚本
#curl –output /etc/init.d/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/master/init.d/gitlab-centos
#chmod +x /etc/init.d/gitlab
curl –output /etc/init.d/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/5-1-stable/init.d/gitlab
chmod +x /etc/init.d/gitlab
#在17行后添加2行内容
sed -i "17 a source /etc/profile.d/rvm.shnrvm use 1.9.3-p448" /etc/init.d/gitlab
#或者复制
##cp /home/git/gitlab/lib/support/init.d/gitlab /etc/init.d/
#添加到开机启动项
chkconfig gitlab on
#启动
/etc/init.d/gitlab start
十.配置web站点
#配置nginx
#安装nginx,(编译安装和rpm都能实现)
# yum -y install nginx
#下载nginx下的gitlab.conf文件
curl –output /etc/nginx/conf.d/gitlab.conf https://raw.github.com/gitlabhq/gitlab-recipes/5-1-stable/nginx/gitlab
#修改下server标签监听端口和域名
vim /etc/nginx/conf.d/gitlab.conf
server {
listen 80;
server_name gitlab.wine.cn;
#..略..
}
更改安装目录权限
# chown -R git:git /etc/nginx
#更改nginx所属用户
#注意:
#需要nginx用户改为git,否则会出现502访问错误.
vim /etc/nginx/nginx.conf
#user nginx;
user git;
/etc/init.d/gitlab start
/etc/init.d/nginx start
#然后访问
gitlab.wine.cn
#####以下是报错环节,没怎么整理很乱###################
[root@gitlab init.d]# sh gitlab start
Could not find mysql2-0.3.11 in any of the sources
Run `bundle install` to install missing gems.
#解决

‘叁’ gitlab为什么药妆数据库和redis

# 修改数据库账号密码, 刚才添加过gitlab这个数据库用户 直接修改成该账号即可
sudo -u git vim config/database.yml
还没来得及装CentOS

‘肆’ centos7安装gitlab 为什么还要装数据库

当然可以,但是生产环境不建议装在centos中,还是redhat 或者 oracle linux 比较靠谱,就算出了问题,oracle服务业跟的上。

‘伍’ 支持win7系统的GitLab安装包及教程

GitLab是由Ruby语言开发的基于Linux的Git服务器,是我见过的最强大的Git服务器。发现它之后,立即决定将Git服务器换成GitLab。
但安装好GitLab之后面临一个问题,如何将服务器上的git项目直接导入到GitLab,之前的Git服务器是由是git+apache搭建的(详见在Linux上用Apache搭建Git服务器)。
在网上发现了这篇文档——Import bare repositories into your GitLab instance,并按之进行了操作。
1)设置存放代码库的主目录
vi /etc/gitlab/gitlab.rb

比如这里设置为:git_data_dir "/gitlab/repos"
2)访问刚搭建的GitLab站点,创建一个group,比如cnblogs。
这时会在 /gitlab/repos 下创建 /gitlab/repos/repositories/cnblogs 文件夹
然后在/gitlab/repos/repositories/创建一个文件夹,比如cnblogs
3)将现有的所有git项目文件复制到这个文件夹
cp -r /data/git/* /gitlab/repos/repositories/cnblogs

4)修改一下复制过来的文件夹的所有者:
chown -R git:git /gitlab/repos/repositories/cnblogs

5)运行GitLab导入命令
cd /var/opt/gitlab
gitlab-rake gitlab:import:repos

等了一段时间之后,显示done,却一个项目也没导入进来。
经研究发现,在导入时,GitLab只认文件夹名以.git结尾的项目。于是,将要导入的项目文件夹名称加上.git后缀,再次进行导入。
结果显示导入成功,比如:
Processing cnblogs/CNBlogsJob.git
* Created CNBlogsJob (cnblogs/CNBlogsJob.git)
Done!

可以是GitLab站点上却看不到已导入的项目。多次努力,也没能解决这个问题。
后来,实在没办法,改为手动导入,导入方法如下:
1)在GitLab站点上创建与要导入的项目同名的项目。
2)进入刚创建的项目文件夹
cd /gitlab/repos/repositories/cnblogs/项目名称.git

3)删除该文件下的所有文件
rm -rf *

4)将要导入的项目文件夹下的所有文件复制过来
cp -r /data/git/CNBlogsJob/* /gitlab/repos/repositories/cnblogs/CNBlogsJob.git

就这样将项目一个一个地导入进来。
5)导入完成后,修改一下导入的所有项目的文件所有者
chown -R git:git /gitlab/repos/repositories/cnblogs

如果不修改所有者,客户端无法进行git push。
就这样手动地完成了现有Git项目的导入。
备注:操作系统是CentOS 6.2,GitLab版本是7.8.4

‘陆’ 求问极狐(GitLab)公司的独角兽计划的入选条件是什么

据我所知,极狐gitlab独角兽计划初创企业入选需要同时满足2个条件:1、注册在中国境内,且未完成A轮融资的企业;2、符合“专、精、特、新”国家政策扶植的科技类企业,包括但不限于智能汽车产业、半导体芯片、医药与生命科学、人工智能、区块链与元宇宙、机器人、数字孪生、IoT,动力电池与绿色能源、材料科学、数据库与数据科学应用、航天科技、实体经济数字化转型行业解决方案企业,完全自主研发的开源技术企业等,自己也可以去网络。

‘柒’ 如何在ubuntu server 14.04下安装gitlab中文版

安装步骤有:

1. 依赖包
2. ruby
3. 用户创建
4. 数据库初始化
5. redis
6. gitlab源码
7. apache

本文可能会用到VPN连接,在命令行下创建VPN连接的方法如下:

sudo apt-get install pptp-linux
sudo pptpsetup --create VPN名称 --server 服务器地址 --username 用户名 --password 密码 [--encrypt] --start

以上命令会创建一个设备,如果没有其他的拨号设备,这个设备会是ppp0,用ifconfig可以看到,“--encrypt”选项可选,因为有的服务器不支持,会提示MPPE required but peer negotiation failed,创建时带上“--start”选项可以看到连接的情况。
pptpsetup创建的VPN连接重启后会失效,如果想在不重启的情况下删除VPN连接:

sudo pptpsetup --delete VPN名称

创建VPN连接后还需要使能,并且添加到路由列表:

sudo pon VPN名称
sudo route add default dev ppp0

禁用VPN连接的方法是:

sudo poff VPN名称

下面开始正文:

1. 依赖包

我装的是ubuntu server 14.04,安装的时候可以选是否安装LAMP(Linux+Apache+MySQL+PHP),如果没装,可以用下面的命令装:

sudo tasksel install lamp-server

安装的时候会提示输入MySQL的root密码,下面要用。
接下来是依赖关系:

sudo apt-get install flex bison ruby 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 nodejs git-core

注意:这里面装了ruby,应该是1.9.1版本的,gitlab需要2.0以上的ruby,但是安装2.0以上的ruby需要低版本的ruby,所以我们先装上,一会儿卸掉。另外,ubuntu 14.04的软件库里有ruby 2.0,但是实测不能用,所以还是从源码装ruby吧。

2. ruby

下载,编译,安装(安装前删掉ruby 1.9.1):

curl -L --progress http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.tar.gz | tar xz
cd ruby-2.1.5
./configure --prefix=/usr --disable-install-rdoc
make
sudo apt-get autoremove ruby
sudo make install

然后安装bundler:

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

3. 用户创建

为gitlab创建一个git用户:

sudo adser --disabled-login --gecos 'GitLab' git

4. 数据库初始化

官方指南用的是PostgreSQL,不过官方也有MySQL的说明:
http://doc.gitlab.com/ce/install/database_mysql.html

sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev
mysql -u root -p

输入MySQL的root密码登陆,然后:

mysql> CREATE USER 'git'@'localhost' IDENTIFIED BY '$password';

记得把上面这句的"$password"换成实际的密码,然后:

mysql> SET storage_engine=INNODB;
mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_proction` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, LOCK TABLES ON `gitlabhq_proction`.* TO 'git'@'localhost';
mysql> \q

5. Redis

Redis貌似是用来存key的数据库吧,不知道,反正按步骤安装:

sudo apt-get install redis-server
sudo cp /etc/redis/redis.conf /etc/redis/redis.conf.orig
sed 's/^port .*/port 0/' /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
sudo service redis-server restart
sudo usermod -aG redis git

6. gitlab源码

gitlab源码默认是安装在/home/git/gitlab,如果要更改,请参照官方手册。获取中文版源码的过程如下:

cd /home/git
sudo -u git -H git clone https://gitlab.com/larryli/gitlab.git

不知道是因为GFW还是什么,git clone这个版本库可慢可慢了,我用了VPN,速度会快点。
git clone完以后可以checkout你想要的版本,在本文编写的时间(2015年4月22日),可以:

sudo -u git -H git checkout 7-7-zh

然后配置源码

cd /home/git/gitlab
sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml
sudo chown -R git log/
sudo chown -R git tmp/
sudo chmod -R u+rwX,go-w log/
sudo chmod -R u+rwX tmp/
sudo -u git -H mkdir /home/git/gitlab-satellites
sudo chmod u+rwx,g=rx,o-rwx /home/git/gitlab-satellites
sudo chmod -R u+rwX tmp/pids/
sudo chmod -R u+rwX tmp/sockets/
sudo chmod -R u+rwX public/uploads
sudo -u git -H cp config/unicorn.rb.example 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 user.name "GitLab"
sudo -u git -H git config --global user.email "[email protected]"
sudo -u git -H git config --global core.autocrlf input
sudo -u git -H cp config/resque.yml.example config/resque.yml

当然,你可以把[email protected]改成你的email;上面的那些yml文件里面的配置基本都不用更改;然后,配置数据库用户名和密码:

sudo -u git cp config/database.yml.mysql config/database.yml
sudo -u git -H editor config/database.yml
sudo -u git -H chmod o-rwx config/database.yml

然后,安装gems:

sudo -u git -H bundle install --deployment --without development test postgres aws

这一步必须使用VPN,因为万恶的GFW屏蔽了rubygems.org,所以会提示connection reset by peer之类的,这部时间也会比较久,如果你的机器是多核的,也可以加上和make相同-jN参数,N等于核数。

(2015年5月2日追加)
发现淘宝做了个rubygrems.org的国内镜像,http://ruby.taobao.org/,可以参照上面的内容设置,加快gems安装速度。

再接下来安装gitlab shell:

sudo -u git -H bundle exec rake gitlab:shell:install[v2.6.0] REDIS_URL=unix:/var/run/redis/redis.sock RAILS_ENV=proction
sudo -u git -H editor /home/git/gitlab-shell/config.yml

把gitlab的url改成http://localhost/或者你的域名。
在接下来初始化数据库:

sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=proction

加入启动项:

sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
sudo update-rc.d gitlab defaults 21

初始化日志:

sudo cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab

检查应用状态:

sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=proction

编译附件:

sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=proction

启动gitlab服务:

sudo service gitlab start

7. apache

下载apache的配置文件:https://gitlab.com/gitlab-org/gitlab-recipes/blob/master/web-server/apache/gitlab-apache2.4.conf
将其中的“ProxyPassReverse
http://gitlab.example.com/”改成“ProxyPassReverse
http://localhost/”或者你的域名,将其中的“/var/log/httpd/logs/”改为“/var/log/apache2/”。
用命令来说:

wget https://gitlab.com/gitlab-org/gitlab-recipes/raw/master/web-server/apache/gitlab-apache2.4.conf
mv gitlab-apache2.4.conf 001-gitlab.conf
editor 001-gitlab.conf (进行上述修改)
sudo cp 001-gitlab.conf /etc/apache2/sites-available
cd /etc/apache2/sites-enabled
sudo rm 000-default.conf
sudo ln -s ../sites-available/001-gitlab.conf 001-gitlab.conf

另外,还需要使能代理模块以实现反向代理功能,不然会提示“ProxyPassReverse”无效之类的。

cd /etc/apache2/mods-enabled
sudo ln -s ../mods-available/proxy.conf proxy.conf
sudo ln -s ../mods-available/proxy.load proxy.load
sudo ln -s ../mods-available/proxy_connect.load proxy_connect.load
sudo ln -s ../mods-available/proxy_http.load proxy_http.load
sudo ln -s ../mods-available/rewrite.load rewrite.load

重启apache:

sudo service apache2 restart

然后,检查下配置是否正确:

sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=proction

如果都是绿色的结果,那就可以访问了。登陆用户名:root,初始密码:5iveL!fe

最后配置一下邮件,修改/home/git/gitlab/config/gitlab.yml,里面的“email_from:”为一个有效的email地址;修改/home/git/gitlab/config/environments/proction.rb,里面的 “config.action_mailer.delivery_method=”为“:smtp”;最后:

cd /home/git/gitlab/config/initializers
sudo -u git -H cp smtp_settings.rb.sample smtp_settings.rb

然后把文件的里的内容修改正确了,再重启一下gitlab服务就行了:

sudo service gitlab restart

热点内容
java的基本结构 发布:2024-10-11 15:12:24 浏览:730
大众suv哪个内部配置好 发布:2024-10-11 14:30:39 浏览:93
缓存到数据库失败 发布:2024-10-11 14:27:44 浏览:678
我的世界手机国际怎么创建服务器 发布:2024-10-11 13:45:46 浏览:420
svnlinux命令 发布:2024-10-11 13:35:54 浏览:234
ig加密语音 发布:2024-10-11 12:19:25 浏览:487
钉图上传 发布:2024-10-11 12:11:27 浏览:479
脚本个 发布:2024-10-11 12:10:43 浏览:151
刚性攻丝的编程 发布:2024-10-11 12:10:39 浏览:469
怎么登录安卓版全民tv 发布:2024-10-11 12:10:33 浏览:624