您现在的位置是:网站首页> 编程资料编程资料
Linux系统上Gitlab客户端安装配置全攻略_LINUX_操作系统_
2024-01-17
100人已围观
简介 Linux系统上Gitlab客户端安装配置全攻略_LINUX_操作系统_
1. 安装依赖包
请记住,Debian 默认并没有安装 sudo,请使用 root 安装它:
apt-get update && apt-get upgrade && apt-get install sudo
现在你可以安装必须包:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install -y wget curl gcc checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libreadline6-dev libc6-dev libssl-dev libmysql++-dev make build-essential zlib1g-dev libicu-dev redis-server openssh-server git-core python-dev python-pip libyaml-dev postfix libpq-dev
数据库
SQLite
sudo apt-get install -y sqlite3 libsqlite3-dev
MySQL
sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev
# Login to MySQL
$ mysql -u root -p
# Create the GitLab production database
mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
# Create the MySQL User change $password to a real password
mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY '$password';
# Grant proper permissions to the MySQL User
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost';
PostgreSQL
sudo apt-get install -y postgresql-9.2 postgresql-server-dev-9.2
# Connect to database server
sudo -u postgres psql -d template1
# Add a user called gitlab. Change $password to a real password
template1=# CREATE USER gitlab WITH PASSWORD '$password';
# Create the GitLab production database
template1=# CREATE DATABASE IF NOT EXISTS gitlabhq_production;
# Grant all privileges on database
template1=# GRANT ALL PRIVILEGES ON DATABASE gitlabhq_production to gitlab;
# Quit from PostgreSQL server
template1=# \q
# Try connect to new database
$ su - gitlab
$ psql -d gitlabhq_production -U gitlab
(译者注:以上3种数据库根据需要安装其一即可)
2. 安装 Ruby
wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.gz
tar xfvz ruby-1.9.3-p194.tar.gz
cd ruby-1.9.3-p194
./configure
make
sudo make install
3. 安装 Gitolite
为 Git 创建用户:
sudo adduser \
--system \
--shell /bin/sh \
--gecos 'git version control' \
--group \
--disabled-password \
--home /home/git \
git
为 GitLab 创建用户:
# ubuntu/debian
sudo adduser --disabled-login --gecos 'gitlab system' gitlab
将 gitlab 用户添加到 git 用户组:
sudo usermod -a -G git gitlab
将 git 用户添加到 gitlab 用户组:
sudo usermod -a -G gitlab git
生成密钥:
sudo -H -u gitlab ssh-keygen -q -N '' -t rsa -f /home/gitlab/.ssh/id_rsa
克隆 GitLab 的 Gitolite 分支源代码:
sudo -H -u git git clone -b gl-v304 https://github.com/gitlabhq/gitolite.git /home/git/gitolite
安装:
cd /home/git
sudo -u git -H mkdir bin
sudo -u git sh -c 'echo -e "PATH=\$PATH:/home/git/bin\nexport PATH" >> /home/git/.profile'
sudo -u git sh -c 'gitolite/install -ln /home/git/bin'
sudo cp /home/gitlab/.ssh/id_rsa.pub /home/git/gitlab.pub
sudo chmod 0444 /home/git/gitlab.pub
sudo -u git -H sh -c "PATH=/home/git/bin:$PATH; gitolite setup -pk /home/git/gitlab.pub"
权限:
sudo chmod -R g+rwX /home/git/repositories/
sudo chown -R git:git /home/git/repositories/
检查:退出并重新登录以使 git 用户组生效
# 克隆 admin 资源库以将 localhost 添加到 known_hosts
# 并且确认 gitlab 用户有权访问 gitolite
sudo -u gitlab -H git clone git@localhost:gitolite-admin.git /tmp/gitolite-admin
# 如果执行成功,你可以将其删除
sudo rm -rf /tmp/gitolite-admin
重要! 如果你不能克隆 gitolite-admin 资源库,请不要继续本次安装,请根据 Trouble Shooting Guide 并且确认你已经小心的完成上文的全部步骤。
笔者注:这一步测试能否克隆成功。本人没有注意这个提示,完成后续安装后发现怎么都不能通过git@localhost:gitolite-admin.git的方式克隆工程,原因就是ssh认证失败,所以请务必确认这一点。顺便说下本人ssh认证失败的原因: /etc/ssh/sshd_config配置文件里面PubkeyAuthentication的值为no,意味着不允许公钥认证,改为yes就可以了。如果还是不能克隆,重复下第3步,并且注意每个命令是否执行成功。或者删除git和gitlab用户,重新执行第3步。
4. 克隆 GitLab 源代码并安装先决条件
sudo gem install charlock_holmes --version '0.6.8'
sudo pip install pygments
sudo gem install bundler
cd /home/gitlab
# Get gitlab code. Use this for stable setup
sudo -H -u gitlab git clone -b stable https://github.com/gitlabhq/gitlabhq.git gitlab
(2013/1/6,最近发现最新的版本是4.0.0.rc2,这个版本已经没有支持sqlite,而我选择sql数据库的时候没有成功,
克隆之后执行、
sudo -u gitlab git checkout 2.9.1
可以回到2.9.1的版本,这个版本既支持sqlite,其gitlab管理界面也较美观。3.1.0以后的版本管理界面都有点难看。)
# Skip this for stable setup.(笔者注:执行了上个命令就不用执行这个命令了)
# Master branch (recent changes, less stable)
sudo -H -u gitlab git clone -b master https://github.com/gitlabhq/gitlabhq.git gitlab
cd gitlab
# Rename config files
sudo -u gitlab cp config/gitlab.yml.example config/gitlab.yml
选择你希望使用的数据库
笔者注:建议选择SQLite
# SQLite
sudo -u gitlab cp config/database.yml.sqlite config/database.yml
# Mysql
sudo -u gitlab cp config/database.yml.mysql config/database.yml
# PostgreSQL
sudo -u gitlab cp config/database.yml.postgres config/database.yml
# 修改 config/database.yml 确认输入了正确的用户名/密码
安装数据库 gems
# mysql
sudo -u gitlab -H bundle install --without development test sqlite postgres --deployment
# 或者 postgres
sudo -u gitlab -H bundle install --without development test sqlite mysql --deployment
# 或者 sqlite
sudo -u gitlab -H bundle install --without development test mysql postgres --deployment
初始化数据库
sudo -u gitlab bundle exec rake gitlab:app:setup RAILS_ENV=production
设置 GitLab hooks
sudo cp ./lib/hooks/post-receive /home/git/.gitolite/hooks/common/post-receive
sudo chown git:git /home/git/.gitolite/hooks/common/post-receive
确认应用程序状态:
sudo -u gitlab bundle exec rake gitlab:app:status RAILS_ENV=production
# OUTPUT EXAMPLE
Starting diagnostic
config/database.yml............exists
config/gitlab.yml............exists
/home/git/repositories/............exists
/home/git/repositories/ is writable?............YES
remote: Counting objects: 603, done.
remote: Compres
相关内容
- 简单了解Linux系统中pgrep与pkill命令的使用_LINUX_操作系统_
- Linux系统开机黑屏提示kernel panic该怎么办?_LINUX_操作系统_
- Linux系统下pv命令的一些使用技巧小结_LINUX_操作系统_
- Linux中终止某个用户的所有进程的简单方法_LINUX_操作系统_
- Linux系统中查询发型版本号以及内核版本的命令总结_LINUX_操作系统_
- Linux系统中使用netcat命令的奇技淫巧_LINUX_操作系统_
- 乱斗西游守榜无敌组合详细解析_手机游戏_游戏攻略_
- 刀塔传奇暴力鱼人流搭配阵容推荐_手机游戏_游戏攻略_
- 乱斗西游紫装青藤玉树怎么获得 青藤玉树获得方法分享_手机游戏_游戏攻略_
- 天天炫斗仓木熏怎么转职成凯瑟琳 仓木熏转职凯瑟琳方法介绍_手机游戏_游戏攻略_
点击排行
本栏推荐
