Gitlabは、インストール、アップグレード、バックアップ、リカバリ、およびその他の完成

、Gitlabのインストール

1.ベースのyumのはGitlabをマウント

インストールの手順は、
(1)の構成ソースのyum

# vim /etc/yum.repos.d/gitlab-ce.repo

(2)次の内容をコピーし、保存を注意baseurl的配置是centos7的地址,安装版本一定要正确()

[gitlab-ce]
name=gitlab-ce
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
Repo_gpgcheck=0
Enabled=1
Gpgkey=https://packages.gitlab.com/gpg.key

(3)yumのローカルキャッシュを更新

# sudo yum makecache

(4)yumをgitlabをインストールし、ここでインストールバージョン11.8.0です

# sudo yum install gitlab-ce         #自动安装最新版  

インストールは、上記のエラーメッセージに遭遇し、あなたがnogpgcheckパラメータを追加する必要があります。

# sudo yum install gitlab-ce --nogpgcheck         #自动安装最新版  

あなたはまた、指定されたバージョンをインストールすることができます(元の契約のデータライブラリのバージョンを移行する必要があります)

# sudo yum install gitlab-ce-11.8.0 --nogpgcheck      #安装指定版本  
  1. RPMベースのインストールgitlab
    (1)インストールの依存関係、パッケージのダウンロードとgitlab RPMをインストール
# yum install curl openssh-server postfix cronie 
# yum -y install policycoreutils-python   #必须安装该依赖包

(2)パッケージをダウンロード

# wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-10.8.0-ce.0.el7.x86_64.rpm/download.rpm
# rpm -ivh gitlab-ce-10.8.0-ce.0.el7.x86_64.rpm

(3)GitLabをコンパイルします

# gitlab-ctl reconfigure

公式インストールマニュアルリンクします。https://about.gitlab.com/installation/

二、Gitlab設定

設定ファイルを変更します。

# mkdir -pv /oadata/git-data
# mkdir /oadata/gitlab/backup
# chown -R git.git /oadata/gitlab  # 备份目录
# chown -R git.git /oadata/git-data  # Git数据保存目录
# vim /etc/gitlab/gitlab.rb
external_url 'http://***'
gitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = '***'
gitlab_rails['gitlab_email_display_name'] = '***'
gitlab_rails['gitlab_email_reply_to'] = '***'
gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
   main: # 'main' is the GitLab 'provider ID' of this LDAP server
     label: '***'
     host: '***'
     port: 389
     uid: 'uid'
     bind_dn: 'cn=root,***'
     password: '***'
     encryption: 'plain' # "start_tls" or "simple_tls" or "plain"
     verify_certificates: false
     active_directory: true
     allow_username_or_email_login: true
     lowercase_usernames: true
     block_auto_created_users: false
     base: 'ou=users,***'
     user_filter: '(memberOf=cn=gitlab,ou=groups,***)'
EOS
gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/oadata/gitlab/backups"
gitlab_rails['backup_archive_permissions'] = 0644
gitlab_rails['backup_keep_time'] = 129600
git_data_dirs({
   "default" => {
     "path" => "/oadata/git-data"
    }
})
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "***"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "***"
gitlab_rails['smtp_password'] = "***"
gitlab_rails['smtp_domain'] = "***"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false

もう一度設定を更新してコンパイル

# gitlab-ctl reconfigure

一般的な関連コマンド:

# gitlab-ctl stop   # 关闭服务
# gitlab-ctl start  # 开启服务
# gitlab-ctl restart  # 重启服务
# gitlab-ctl status  # 查看服务状态
# gitlab-ctl tail  # 查看日志
# gitlab-rake gitlab:backup:create  # 创建备份
# gitlab-rake gitlab:backup:restore BACKUP=备份文件编号  #  恢复备份
# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION  # 查看版本信息

三、Gitlabが完成

(1)完成したパッケージのダウンロードバージョンに対応

# wget https://gitlab.com/xhang/gitlab/-/archive/v11.8.0-zh/gitlab-v11.8.0-zh.tar

(2)言語パックファイルを更新

# gitlab-ctl stop
# tar xvf gitlab-v11.8.0-zh.tar
# \cp -rf gitlab-v11.8.0-zh/* /opt/gitlab/embedded/service/gitlab-rails/
# chown -R 
# gitlab-ctl reconfigure
# gitlab-ctl restart

四、Gitlabのバックアップとリカバリ

(1)バックアップスクリプト

# vim /oadata/gitlab/backup/sh/gitlab_backup.sh
#!/bin/bash

now=`date +%Y%m%d`

echo "开始执行gitlab备份..."
/opt/gitlab/bin/gitlab-rake gitlab:backup:create
echo "备份完成."

echo "清理超过10天的备份数据..."
/usr/bin/find /oadata/gitlab/backups/*gitlab_backup.tar -mtime +10 -exec rm -f {} \;
echo "清理完成."

echo "开始备份配置文件: gitlab.rb , gitlab-secrets.json"
tar -cvf /oadata/gitlab/backups/config/${now}_gitlab_config_backup.tar /etc/gitlab/gitlab.rb /etc/gitlab/gitlab-secrets.json

echo "清理超过30天的配置备份数据..."
/usr/bin/find /oadata/gitlab/backups/config/*gitlab_config_backup.tar -mtime +30 -exec rm -f {} \;
echo "清理完成."
# chmod 755 /oadata/gitlab/backup/sh/gitlab_backup.sh

(2)スケジュールされたバックアップ備考

  • 毎日午前2時50分にバックアップ
50 02 * * * /oadata/gitlab/sh/gitlab_backup.sh

(3)Gitlab回復

  • 復元する前に、まずデータ接続サービスを停止
# gitlab-ctl stop unicorn
# gitlab-ctl stop sidekiq
# gitlab-rake gitlab:backup:restore BACKUP=备份文件编号

マシンを交換し復元し、あなたも手動でファイルを復元する必要があります。/etc/gitlab/gitlab.rb /etc/gitlab/gitlab-secrets.json

五、Gitlabのアップグレード

  • アップグレードの前にgitlab-CAの彼らの現在のバージョン番号を記録するために、バックアップを行う必要があります。
# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
# gitlab-rake gitlab:backup:create
  • :(メジャーバージョン番号を越えることはできませんアップグレードのため、それだけで次のメジャーバージョン番号にアップグレードする前に、最も高いバージョンに現在のメジャーバージョン番号にアップグレードすることができます注)Gitlabをアップグレード
    接続サービスをクローズ
# gitlab-ctl stop unicorn
# gitlab-ctl stop sidekiq

以下は、Gitlabがある11.8.0アップグレード12.0.3。見つけ正常にインストールインタフェース500がアクセス可能でない場合は順次実行し、各ステップの後に、次のコマンドを昇格コマンドを実行gitlab-ctl reconfigureコンフィギュレーションファイルを更新する命令を。一定保证数据可以正常访问方可执行下一步升级指令)。

yumのアップグレードにより、

# yum install gitlab-ce-11.11.5-ce.0.el7

何の問題後の各機能検証テストは、再びアップグレードします。

# yum install gitlab-ce-12.0.3-ce.0.el7

またはRPMをアップグレードすることにより、

# rpm -Uvh gitlab-ce-11.11.5-ce.0.el7.rpm

何の問題後の各機能検証テストは、再びアップグレードします。

rpm -Uvh gitlab-ce-11.11.5-ce.0.el7.rpm

第六に、アクセスGitlabにpostgresql

1.コンソールのAccessデータベース

[root@localhost ~]# su - gitlab-psql     //登陆用户
-sh-4.1$ psql -h /var/opt/gitlab/postgresql -d gitlabhq_production   连接到gitlabhq_production库
psql (9.2.18)
Type "help" for help.
gitlabhq_production=#  \h    查看帮助命令
Available help:
  ABORT                            CREATE FUNCTION                  DROP TABLE
  ALTER AGGREGATE                  CREATE GROUP                     DROP TABLESPACE
  ALTER COLLATION                  CREATE INDEX                     DROP TEXT SEARCH CONFIGURATION
  ALTER CONVERSION                 CREATE LANGUAGE                  DROP TEXT SEARCH DICTIONARY
  ALTER DATABASE                   CREATE OPERATOR                  DROP TEXT SEARCH PARSER
  ALTER DEFAULT PRIVILEGES         CREATE OPERATOR CLASS            DROP TEXT SEARCH TEMPLATE
  ALTER DOMAIN                     CREATE OPERATOR FAMILY           DROP TRIGGER
  ALTER EXTENSION                  CREATE ROLE                      DROP TYPE
……………………………………………………………………………………………………………………
 
gitlabhq_production-# \l     //查看数据库
                                             List of databases
        Name         |    Owner    | Encoding |   Collate   |    Ctype    |        Access privileges        
---------------------+-------------+----------+-------------+-------------+---------------------------------
 gitlabhq_production | gitlab      | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 postgres            | gitlab-psql | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0           | gitlab-psql | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/"gitlab-psql"               +
                     |             |          |             |             | "gitlab-psql"=CTc/"gitlab-psql"
 template1           | gitlab-psql | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/"gitlab-psql"               +
                     |             |          |             |             | "gitlab-psql"=CTc/"gitlab-psql"
(4 rows)
 
gitlabhq_production-# \dt   //查看多表
                       List of relations
 Schema |                 Name                 | Type  | Owner  
--------+--------------------------------------+-------+--------
 public | abuse_reports                        | table | gitlab
 public | appearances                          | table | gitlab
 public | application_settings                 | table | gitlab
 public | audit_events                         | table | gitlab
 public | award_emoji                          | table | gitlab
 public | boards                               | table | gitlab
 public | broadcast_messages                   | table | gitlab
……………………………………………………………………………………………………………………
 
gitlabhq_production-# \d abuse_reports    //查看单表
                                      Table "public.abuse_reports"
    Column    |            Type             |                         Modifiers                          
--------------+-----------------------------+------------------------------------------------------------
 id           | integer                     | not null default nextval('abuse_reports_id_seq'::regclass)
 reporter_id  | integer                     | 
 user_id      | integer                     | 
 message      | text                        | 
 created_at   | timestamp without time zone | 
 updated_at   | timestamp without time zone | 
 message_html | text                        | 
Indexes:
    "abuse_reports_pkey" PRIMARY KEY, btree (id)
 
gitlabhq_production-# \di    //查看索引
                                                        List of relations
 Schema |                              Name                               | Type  | Owner  |                Table           
      
--------+-----------------------------------------------------------------+-------+--------+--------------------------------
------
 public | abuse_reports_pkey                                              | index | gitlab | abuse_reports
 public | appearances_pkey                                                | index | gitlab | appearances
 public | application_settings_pkey                                       | index | gitlab | application_settings
 public | audit_events_pkey                                               | index | gitlab | audit_events
 public | award_emoji_pkey                                                | index | gitlab | award_emoji
 public | boards_pkey                                                     | index | gitlab | boards
 public | broadcast_messages_pkey                                         | index | gitlab | broadcast_messages
 public | chat_names_pkey                                                 | index | gitlab | chat_names
 public | ci_application_settings_pkey                                    | index | gitlab | ci_application_settings
 public | ci_builds_pkey                                                  | index | gitlab | ci_builds
 public | ci_commits_pkey                                                 | index | gitlab | ci_commits
………………………………………………………………………………………………………………………………………………
 
gitlabhq_production=# SELECT spcname FROM pg_tablespace;  //查看所有表空间
  spcname   
------------
 pg_default
 pg_global
(2 rows)
 
gitlabhq_production-# \q    //退出psql
-sh-4.1$ exit                //退出登录用户
logout

2.パスワードにpostgresqlせずに、一時的なリモートアクセスを開きます。

(1)変更gitlab.rb

# vim /etc/gitlab/gitlab.rb

するように設定:

postgresql['enable'] = true 
postgresql['listen_address'] = '0.0.0.0'
postgresql['port'] = 5432 
postgresql['data_dir'] = "/var/opt/gitlab/postgresql/data"
...
...
postgresql['custom_pg_hba_entries'] = {
  APPLICATION:[ { # APPLICATION should identify what the settings are used for
    type: "host",
    database: "all",
    user: "all",
    cidr: "0.0.0.0/0",
    method: "trust"
    }   
  ]
}
# gitlab-ctl reconfigure

等待报错。没办法,上述修改,必然引发报错。
(2)変更pg_hba.confの

vim /var/opt/gitlab/postgresql/data/pg_hba.conf

次のように改正:

host   all    all    0.0.0.0/0    trust

注意:我々はgitlab-CTLの再設定を実行した場合、その後にpg_hba.confが復元されますので、変更、その後、もはや、gitlab-CTLのreconfigureコマンドを実行していないので。

# gitlab-ctl restart

七つの一般的な問題とその解決方法リファレンス

  1. 接続gitlabにpostgresql
  2. 最も包括的な公式ドキュメントに発生した問題のほとんどを解決することができます#
  3. 一つの問題は、ときにデータの復旧に遭遇しました

おすすめ

転載: www.cnblogs.com/doraman/p/11239179.html