Gitlab 安装配置

准备工作

二进制文件安装Gitlab的默认安装目录在/var/opt/gitlab和/opt/gitlab,日志目录在/var/log/gitlab/,不方便维护;
为了方便管理维护,在/data/下创建映射目录,分别映射到/var/opt/gitlab、/opt/gitlab、/var/log/gitlab/。

=== 创建映射目录
> mkdir /data/gitlab/{opt,var,logs,git-data,backups} -p
> mkdir /data/gitlab/var/opt/gitlab -p
> mkdir /data/gitlab/opt/gitlab -p
> mkdir /data/gitlab/logs/gitlab -p

> ln -s /data/gitlab/var/opt/gitlab /var/opt/gitlab
> ln -s /data/gitlab/opt/gitlab /opt/gitlab
> ln -s /data/gitlab/logs/gitlab /var/log/gitlab

安装

=== CentOS
> rpm -ivh gitlab-ce-9.2.2-ce.0.el6.x86_64.rpm

=== Ubuntu
> dpkg -i gitlab-ce_9.2.2-ce.0_amd64.deb

配置gitlab

> vim /etc/gitlab/gitlab.rb
### 访问地址
external_url 'https://git.ennew.alpha'

### LDAP
gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
main:
  label: 'LDAP登录'
  host: 'xxx.xxx.com'               // ldap地址
  port: 389                         // ldap端口
  uid: 'uid' 
  method: 'plain'
  bind_dn: 'uid=ygeg,cn=users,dc=enn,dc=com'    // ldap管理账号
  password: 'Passw0rd'                          // ldap管理账号密码
  verify_certificates: true 
  active_directory: false 
  allow_username_or_email_login: true
  lowercase_usernames: false 
  block_auto_created_users: false 
  base: 'cn=users,dc=enn,dc=com'
  user_filter: ''
EOS

### Backup Settings
gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/data/gitlab/backups"    // 备份路径
gitlab_rails['backup_archive_permissions'] = 0644
gitlab_rails['backup_keep_time'] = 604800

### git-data Dir Setting
ruby git_data_dir "/data/gitlab/git-data"

### HTTPS Setting
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/gitlab/ssl/server.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/server.key"

生成秘钥的命令

> openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/gitlab/ssl/server.key -out /etc/gitlab/ssl/server.crt

常用命令

### 重新加载配置
gitlab-ctl reconfigure

### 服务管理
gitlab-ctl start/stop/status/restart

### 备份
gitlab-rake gitlab:backup:create

### 恢复
gitlab-rake gitlab:backup:restore BACKUP=1537672395_2018_09_23_9.2.2

Gitlab 配置使用外部数据源

1、配置PostgreSQL数据源

### PostgreSQL 配置Gitlab数据库授权
> su - postgres
> -bash-4.1$ psql -U postgres
psql (10.12)
输入 "help" 来获取帮助信息.

> postgres=# CREATE USER gitlab_user WITH PASSWORD 'gitlab_passwd';
> postgres=# GRANT ALL PRIVILEGES ON DATABASE gitlabhq_production TO gitlab_user;

### 修改Gitlab配置文件
> vim /etc/gitlab/gitlab.rb
......
postgresql['enable'] = false    
gitlab_rails['db_adapter'] = "postgresql"
gitlab_rails['db_encoding'] = "unicode"
gitlab_rails['db_database'] = "gitlabhq_production"
gitlab_rails['db_pool'] = 100
gitlab_rails['db_username'] = "username"
gitlab_rails['db_password'] = "password"
gitlab_rails['db_host'] = "db_host_ip"
gitlab_rails['db_port'] = 5432
gitlab_rails['db_prepared_statements'] = true
gitlab_rails['db_statements_limit'] = 1000
......

> gitlab-ctl reconfigure
> gitlab-ctl restart

2、配置MySQL数据源

### MySQL 配置Gitlab数据库授权
> CREATE DATABASE gitlab;
> GRANT ALL ON gitlab.* TO 'gitlab_user'@'gitlab_host_ip' IDENTIFIED BY 'gitlab_password';

### 更换 rubygem 安装源
> /opt/gitlab/embedded/bin/gem sources --remove https://rubygems.org/
> /opt/gitlab/embedded/bin/gem sources -a https://gems.ruby-china.com
> sed -i 's#rubygems.org#gems.ruby-china.com#g' /opt/gitlab/embedded/service/gitlab-rails/Gemfile

### 安装依赖
> yum install -y mysql-devel gcc-c++ 
> cd /opt/gitlab/embedded/service/gitlab-rails/    # Gemfile 所在目录
> /opt/gitlab/embedded/bin/bundle install

### 修改依赖数据源
> cd /opt/gitlab/embedded/service/gitlab-rails/
> vim .bundle/config
---
BUNDLE_RETRY: "5"
BUNDLE_JOBS: "9"
BUNDLE_WITHOUT: "development:test:postgres"    # mysql 改成 postgres

### Gem安装数据源 mysql2
>  /opt/gitlab/embedded/bin/gem install mysql2 -v '0.3.20'

### 修改Gitlab 配置文件
> vim /etc/gitlab/gitlab.rb
......
postgresql['enable'] = false
gitlab_rails['db_adapter'] = "mysql2"
gitlab_rails['db_encoding'] = "utf8"
gitlab_rails['db_database'] = "gitlab"
gitlab_rails['db_username'] = "gitlab_user"
gitlab_rails['db_password'] = 'gitlab_password'
gitlab_rails['db_host'] = 'db_host_ip'
gitlab_rails['db_port'] = '3306'
......

### 重新加载配置
> gitlab-ctl reconfigure
> gitlab-ctl restart
posted @ 2020-02-11 18:02  刘-帅  阅读(635)  评论(0)    收藏  举报