使用gitlab+git+mysql+redis+nginx搭建自己的代码管理平台
2016-08-02 00:00
976 查看
摘要: 使用gitlab+git+mysql+redis+nginx搭建自己的代码管理平台
git版本需要2.7+以上,使用
查看版本号
安装Bundler Gem:
安装:
查看版本:
创建数据库用户。如果要用已有的用户或者root用户,下面的步骤就不需要了。 记得把自己的密码换上: CREATE USER 'git'@'localhost' IDENTIFIED BY '$password';
我这里直接使用的8.5,你也可以在clone完了之后在切换分支
如果想用其它的版本,比如8.10,就
source "https://ruby.taobao.org"
找到
gem "mysql2", '~> 0.3.16', group: :mysql
gem "pg", '~> 0.18.2', group: :postgres
修改为:
执行
或者自己下载gitlab-shell然后配置,具体看这里:https://github.com/gitlabhq/gitlab-shell
如果需要开机启动
启动gitlab
验证gitlab是否启动成功
如果有错误的地方,会给出具体的错误信息和解决方法,根据具体情况解决就可以。
我这里就直接安装了,其它系统大家按情况安装。
配置
测试配置
重启nginx
最后在测试下安装是否成功了
到这里就搭建好了,更多内容请大家参考:https://github.com/gitlabhq/gitlabhq/
使用gitlab搭建自己的代码管理平台
这里就不去介绍gitlab了,直接进入正题。安装
有很多需要安装的内容可能已经安装过或者系统已经自带了,可以直接跳过前面几步,从创建用户开始,到后面缺少了哪一步再去安装。安装git
sudo apt-get install git
git版本需要2.7+以上,使用
git --version
查看版本号
安装邮件服务器postfix
需要安装postfix来发送邮件sudo apt-get install -y postfix
安装ruby
安装rubysudo apt-get install ruby
安装Bundler Gem:
sudo gem install bundler --no-ri --no-rdoc
安装GO
curl -O --progress https://storage.googleapis.com/golang/go1.5.3.linux-amd64.tar.gz echo '43afe0c5017e502630b1aea4d44b8a7f059bf60d7f29dfd58db454d4e4e0ae53 go1.5.3.linux-amd64.tar.gz' | shasum -a256 -c - && \ sudo tar -C /usr/local -xzf go1.5.3.linux-amd64.tar.gz sudo ln -sf /usr/local/go/bin/{go,godoc,gofmt} /usr/local/bin/ rm go1.5.3.linux-amd64.tar.gz
创建用户
创建一个用户gitsudo adduser --disabled-login --gecos 'GitLab' git
数据库mysql
如果还没有安装数据库 安装mysql安装:
sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev
查看版本:
mysql --version
创建数据库用户。如果要用已有的用户或者root用户,下面的步骤就不需要了。 记得把自己的密码换上: CREATE USER 'git'@'localhost' IDENTIFIED BY '$password';
# Login to MySQL mysql -u root -p # Type the MySQL root password # Create a user for GitLab # do not type the 'mysql>', this is part of the prompt # change $password in the command below to a real password you pick mysql> CREATE USER 'git'@'localhost' IDENTIFIED BY '$password'; # Ensure you can use the InnoDB engine which is necessary to support long indexes # If this fails, check your MySQL config files (e.g. `/etc/mysql/*.cnf`, `/etc/mysql/conf.d/*`) for the setting "innodb = off" mysql> SET storage_engine=INNODB; # Create the GitLab production database mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`; # Grant the GitLab user necessary permissions on the database mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, CREATE TEMPORARY TABLES, DROP, INDEX, ALTER, LOCK TABLES ON `gitlabhq_production`.* TO 'git'@'localhost'; # Quit the database session mysql> \q # Try connecting to the new database with the new user sudo -u git -H mysql -u git -p -D gitlabhq_production # Type the password you replaced $password with earlier # You should now see a 'mysql>' prompt # Quit the database session mysql> \q # You are done installing the database and can go back to the rest of the installation.
安装Redis
redis的版本必须大于2.8sudo apt-get install redis-server
安装gitlab
我们之前创建了一个用户git,这个git是不可以登录的。cd /home/git
clone资源
sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 8-5-stable gitlab
我这里直接使用的8.5,你也可以在clone完了之后在切换分支
sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-ce.git gitlab cd gitlab git checkout 8-5-stable
如果想用其它的版本,比如8.10,就
git checkout 8-10-stable
配置gitlab
# Go to GitLab installation folder cd /home/git/gitlab # Copy the example GitLab config sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml # Update GitLab config file, follow the directions at top of file sudo -u git -H vi config/gitlab.yml # Copy the example secrets file sudo -u git -H cp config/secrets.yml.example config/secrets.yml sudo -u git -H chmod 0600 config/secrets.yml # Make sure GitLab can write to the log/ and tmp/ directories sudo chown -R git log/ sudo chown -R git tmp/ sudo chmod -R u+rwX,go-w log/ sudo chmod -R u+rwX tmp/ # Make sure GitLab can write to the tmp/pids/ and tmp/sockets/ directories sudo chmod -R u+rwX tmp/pids/ sudo chmod -R u+rwX tmp/sockets/ # Create the public/uploads/ directory sudo -u git -H mkdir public/uploads/ # Make sure only the GitLab user has access to the public/uploads/ directory # now that files in public/uploads are served by gitlab-workhorse sudo chmod 0700 public/uploads # Change the permissions of the directory where CI build traces are stored sudo chmod -R u+rwX builds/ # Change the permissions of the directory where CI artifacts are stored sudo chmod -R u+rwX shared/artifacts/ # Copy the example Unicorn config sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb # Find number of cores nproc # Enable cluster mode if you expect to have a high load instance # Set the number of workers to at least the number of cores # Ex. change amount of workers to 3 for 2GB RAM server sudo -u git -H vi config/unicorn.rb # Copy the example Rack attack config sudo -u git -H cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rb # Configure Git global settings for git user, used when editing via web editor sudo -u git -H git config --global core.autocrlf input # Configure Redis connection settings sudo -u git -H cp config/resque.yml.example config/resque.yml # Change the Redis socket path if you are not using the default Debian / Ubuntu configuration sudo -u git -H vi config/resque.yml
配置数据库
# MySQL only: sudo -u git cp config/database.yml.mysql config/database.yml # MySQL and remote PostgreSQL only: # Update username/password in config/database.yml. # You only need to adapt the production settings (first part). # If you followed the database guide then please do as follows: # Change 'secure password' with the value you have given to $password # You can keep the double quotes around the password sudo -u git -H vi config/database.yml # PostgreSQL and MySQL: # Make config/database.yml readable to git only sudo -u git -H chmod o-rwx config/database.yml
修改Gemfile,安装依赖
修改第一行为:source "https://ruby.taobao.org"
找到
gem "mysql2", '~> 0.3.16', group: :mysql
gem "pg", '~> 0.18.2', group: :postgres
修改为:
gem "mysql2"#, '~> 0.3.16', group: :mysql #gem "pg", '~> 0.18.2', group: :postgres
执行
sudo -u git -H bundle install --no-deployment sudo -u git -H bundle install --deployment --without development test mysql aws kerberos
安装GitLab Shell
你可以用下面的语句安装同时配置gitlab-shellsudo -u git -H bundle exec rake gitlab:shell:install REDIS_URL=unix:/var/run/redis/redis.sock RAILS_ENV=production sudo -u git -H vi /home/git/gitlab-shell/config.yml
或者自己下载gitlab-shell然后配置,具体看这里:https://github.com/gitlabhq/gitlab-shell
安装gitlab-workhorse
8.2之前这个东西叫gitlab-git-http-servercd /home/gitsudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-workhorse.git cd gitlab-workhorse
sudo -u git -H git checkout 0.6.4
sudo -u git -H make
初始化数据库
初始化完成后会有初始用户名和密码提示,记住它。cd /home/git/gitlab sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
安装启动脚本
启动脚本sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
如果需要开机启动
sudo update-rc.d gitlab defaults 21
验证安装
验证环境是否ok安装sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production
启动gitlab
sudo /etc/init.d/gitlab restart
验证gitlab是否启动成功
sudo -u git -H ./bin/check
如果有错误的地方,会给出具体的错误信息和解决方法,根据具体情况解决就可以。
nginx
安装:我这里就直接安装了,其它系统大家按情况安装。
sudo apt-get install -y nginx
配置
sudo cp lib/support/nginx/gitlab /etc/nginx/sites-available/gitlab sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab sudo vi /etc/nginx/sites-available/gitlab
测试配置
sudo nginx -t
重启nginx
sudo service nginx restart
最后在测试下安装是否成功了
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
到这里就搭建好了,更多内容请大家参考:https://github.com/gitlabhq/gitlabhq/
相关文章推荐
- 在OSChina免费的码云平台上使用git管理自己的代码
- 全新安装Mac OSX 开发者环境 同时使用homebrew搭建 PHP,Nginx ,MySQL,Redis,Memcache ... ... (LNMP开发环境)
- 使用ELK(logstash,elasticsearch,kibana)+redis搭建nginx日志分析平台
- 使用elk+redis搭建nginx日志分析平台
- 使用git管理自己的代码--简单使用流程
- 使用elk+redis搭建nginx日志分析平台
- 简单使用Git和Github来管理自己的代码和读书笔记
- 全新安装Mac OSX 开发者环境 同时使用homebrew搭建 PHP,Nginx ,MySQL,Redis,Memcache ... ... (LNMP开发环境)
- 使用elk+redis搭建nginx日志分析平台(转)
- 全新安装Mac OSX 开发者环境 同时使用homebrew搭建 PHP,Nginx ,MySQL,Redis,Memcache ... ... (LNMP开发环境)
- 使用git管理自己的代码--简单使用流程
- 使用Git 上传 文件到GoogleCode(其它代码管理平台也类似)
- 全新安装Mac OSX 开发者环境 同时使用homebrew搭建 PHP,Nginx ,MySQL,Redis,Memcache ... ... (LNMP开发环境)
- 新手入门git: 使用git管理自己的代码
- 简单使用Git和Github来管理自己的代码和读书笔记
- 使用git将自己的代码同时保存在多个代码托管平台
- 使用elk+redis搭建nginx日志分析平台
- 全新安装Mac OSX 开发者环境 同时使用homebrew搭建 PHP,Nginx ,MySQL,Redis,Memcache ... ... (LNMP开发环境)
- 使用Google搭建自己的SVN或Git或Mercurial代码服务器之完美教程
- 简单使用Git和Github来管理自己的代码和读书笔记