gitlabの構築(構築、使用、バックアップ、移行リカバリ)

5152 ワード

この記事では、以下の点に重点を置きます.
1、git、gitlab、githubの違い
2、gitlabの構築
3、gitlabのバックアップ
4、gitlabの移行及びデータ回復
すべての操作はcentos 7に確立する.3の環境で構築され、gitlabが採用したバージョンは10.2.2である.
1、git、gitlab、githubの違い
SVNと同様、Gitはバージョン管理システム(Version Control System,VCS)であり、異なるのはSVNが集中型バージョン制御システムであり、単一の集中管理サーバのためにすべてのファイルの改訂バージョンを保存し、協同作業する人々はクライアントを通じてこのサーバに接続し、最新のファイルを取り出したり、更新を提出したりし、gitは分散型バージョン制御システムであり、SVNとgitの対比について、下図で説明できます(最大の違いはsvnが集中式、gitが分布式)
svnは巨大な図書館のようなもので、本を借りるときは、まず図書館から借りて、家に帰ってから自分で変えなければなりません.変更した後も図書館に戻ります.gitの方法は全く違います.すべてのクライアントは完全なバージョンライブラリで、中央制御の概念がありません.gitは仮想的な全量図書館を提供しています.すべての人は仮想的な図書館を持っています.あなたがその中の1冊の本を読みたい時、自分の仮想図書館の中から検索して、もしあなたがその中の内容を修正したら、直接自分の仮想図書館の中に提出することができて、他の人の図書館にも影響しません.他の人があなたの修正した1冊の本を見たい時、あなたは対応する1冊の本のURLを相手に送るだけでいいです.
Gitの誕生については興味深いが、初期にリンナス・トワーズ(Linuxの父)がLinuxカーネルバージョン制御の問題に直面し、当初はBitkeeperによるLinuxカーネルのコード管理を受けていたが、Linuxコミュニティ開発者がBitkeeperを解読することは許されなかったが、オープンソースソフトウェアを追求する×××みんな、どうしてそんなに言うことを聞くことができて、1つあります×××開発者は、Bitkeeperを解読し、これまでの要求に基づいて、Bitkeeperが回収したリンナスの使用権を、交渉が失敗した場合、リンナスは7日間閉鎖して修練し、gitはこのように面接した.大神は大神だ.
Gitはバージョン管理システムであり、GithubはオンラインのGitベースのコード管理サービスである.GitHubは2008年にRuby on Railsによって編纂された.GitHubは有料口座と無料口座を同時に提供している.この2つの口座は公開のコード倉庫を作成することができますが、有料口座もプライベートのコード倉庫を作成することができます.GitHubの上に自分のプロジェクトをオープンソースすれば、面接の時、これは大きなメリットとハイライトになります.他の人はGitHubのオープンソースプロジェクトを通じて、あなたの技術レベルをよく知ることができます.同時に、GitHubの上のプロジェクトのstarが高いほど、プロジェクトの影響力が大きいことを説明することができます.これはとても重要です.
GitHubはプライベートなコードウェアハウスに対して有料であると同時に、すべての会社がGitHub上に自分のプロジェクトを管理したいわけではないため、gitlabはこのような問題を解決するために、gitlabは個人のサーバー上に構築され、認証された人は無料のプライベートrepoを作成し、複数の人が協力することができる.GitLabは、開発チームにコードウェアハウスをより多くの制御を与えます.
2、gitlabの構築
本明細書で構築したgitlabはyum方式に基づいてインストールされ、具体的なインストール手順は以下の通りである.
(1)、yumソースの構成
vim /etc/yum.repos.d/gitlab-ce.repo

(2)、以下の内容をコピーして保存します.baseurlの構成はcentos 7のアドレスです.
[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.ke

centos 6の場合baseurlは
[gitlab-ce]
name=gitlab-ce
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/
Repo_gpgcheck=0
Enabled=1
Gpgkey=https://packages.gitlab.com/gpg.ke

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

(4)、yumインストールgitlab、ここでインストールバージョンは10.2.2
sudo yum intall gitlab-ce        # 
sudo yum install gitlab-ce-10.2.2    # , 10.2.2

注意インストール中に次のエラーが発生する可能性があります.
sudo yum install gitlab-ce-10.2.2 --nogpgcheck      #### 

(5)、構成変更
    vim /etc/gitlab/gitlab.rb
      external_url 'http://000.00.00.00:8081'
     , http://192.168.1.157:8081

(6)、GitLabをコンパイルする
gitlab-ctl reconfigure

(7)、キャッシュのクリア
gitlab-rake cache:clear RAILS_ENV=production

(8)、gitlabサービスの起動、ファイアウォールの閉鎖などの操作
sudo gitlab-ctl start    #   gitlab  ; :/etc/rc.local
sudo gitlab-ctl stop     #   gitlab  ;
sudo gitlab-ctl restart   #   gitlab  ;
sudo gitlab-ctl status    #  ;
sudo gitlab-ctl tail       #  ;

ファイアウォールを閉じる:
service iptables stop      ###centos6 
systemctl stop firewalld.service  ###centos7 

(9)、gitlabへのアクセス:192.168.1157:8081、gitlabのデフォルトのrootアカウントパスワードはqazwsxedで、初めて入るにはrootパスワードを変更する必要がある
3、gitlabのバックアップ
Gitlabワンタッチのインストールパッケージを使用してGitlabをインストールするのは非常に簡単で、同じバックアップのリカバリと移行も非常に簡単です.1つのコマンドを使用して、Gitlabの完全なバックアップを作成します.
gitlab-rake gitlab:backup:create
以上のコマンドを使用すると、/var/opt/gitlab/backupsディレクトリの下に1481598919と同様の名前が作成されます.gitlab_backup.最初の1481598919はバックアップ作成日です
ここではgitlabのタイミングバックアップをトランザクション形式で行い、タイミングスクリプト/iyunwen/bin/git_を作成します.backup/git_backup.sh,内容は以下の通り
#!/bin/bash
cd /var/opt/gitlab/backups/
gitlab-rake gitlab:backup:create  
find  /var/opt/gitlab/backups/  -type f -ctime +5 -exec rm -rf {} \;
 :echo "30 03 * * * root run-parts /iyunwen/bin/git_backup/" >>  /etc/crontab 
 3:30 gitlab 

バックアップ後のデータは/var/opt/gitlab/backupsに存在し、以下の図に示す.
4、gitlabの移行及びデータ回復
移行は、バックアップとリカバリの手順と同様に、古いサーバ/var/opt/gitlab/backupsディレクトリのバックアップファイルを新しいサーバ上の/var/opt/gitlab/backupsにコピーするだけでよい(デフォルトのバックアップディレクトリを変更していない場合)が、新しいサーバ上のGitlabのバージョンは、バックアップを作成するときのGitlabのバージョン番号と同じでなければならないことに注意してください.例えば、新しいサーバが最新の10.2.2バージョンのGitlabをインストールしている場合、移行前に古いサーバのGitlabを10.2.2にアップグレードしてバックアップを行うことが望ましい.
gitlabのバージョン情報を表示するには、次の手順に従います.
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

(1)gitlabサービスの停止
 gitlab-ctl stop unicorn
 gitlab-ctl stop sidekiq

(2)バックアップファイルを/var/opt/gitlab/backupsにアップロードします.ここでのバックアップファイル名は:1534793618_です.gitlab_backup.tar
移行前後のgitlabバージョンが一致しない場合は、次のエラーが発生するため、バージョンが一致する必要があります.
(3)、データ復旧
cd /var/opt/gitlab/backups
chmod 777 1534793618_gitlab_backup.tar
gitlab-rake gitlab:backup:restore BACKUP=1534793618

リカバリ開始の進捗状況は次のとおりです.
リカバリが完了すると、次のようなメッセージが表示されます.
gitlabアドレスにログインして検証でき、すべてのデータが復元されました
転載先:https://blog.51cto.com/11883699/2162900