gitlabの構成外部データベースの使用

4549 ワード

vim/opt/gitlab/embedded/service/gitlab-rails/.bundle/config BUNDLE_WITHOUT:「development:test:mysql」をBUNDLE_に変更WITHOUT: "development:test:postgres"
yum -y install ruby-devel cd/opt/gitlab/embedded/bin./gem install mysql2
1、データベース作成#データベース作成create database gitlab DEFAULT CHARACTER SET utf 8 COLLATE utf 8_general_ci;
#ユーザーの作成と権限の追加GRANT ALL PRIVILEGES ON gitlab.*TO'gitlab'@'%'IDENTIFIED BY'gitlab'WITH GRANT OPTION;MySQL8.0 : mysql> create user 'gitlab'@'%' IDENTIFIED BY '1qaz!QAZ';Query OK, 0 rows affected (0.08 sec)
mysql> GRANT ALL PRIVILEGES ON gitlab.* TO 'gitlab'@'%';Query OK, 0 rows affected (0.06 sec)
#更新権限flush privileges;
2、gitlab.rbを構成し、mysqlvim/etc/gitlab/gitlab.rbを追加する
#データベース構成の変更gitlab_rails['db_adapter'] = "mysql2"gitlab_rails['db_encoding'] = "utf8"gitlab_rails['db_database'] = "gitlab"gitlab_rails['db_username'] = "gitlab"gitlab_rails['db_password'] = "gitlab"gitlab_rails['db_host'] = "127.0.0.1"gitlab_rails['db_port'] = 3306postgresql['enable'] = false
3、gitlabを構成する依存3.1 postgres依存#mysql 2が欠けているのを取り除き、rubyのgemツールでダウンロードし、ダウンロードする前にrubyのgemとbundle#編集configvim/opt/gitlab/embedded/service/gitlab-rails/.bundle/configを構成して元のmysqlをpostgresに置き換えなければならない.postgersのパッケージは必要ない.ここに画像の説明を書きます
3.2インストールmysqlはインストール依存性に依存し、バージョンを指定する必要があります.先にインストールした後、gitlab-rake gitlab:checkを実行してインストールのバージョンを表示することができます.
gitlabのほとんどのコマンドはこのディレクトリの下にあります
cd/opt/gitlab/embedded/bin/
###mysql./gem install mysql 2をインストール構成を確認:赤いプロンプトに従って適切なパッケージをインストールします.注意:/opt/gitlab/embedded/bin/gem install mysql 2-v'0.4.10'/opt/gitlab/embedded/bin/gem install peek-mysql 2-v'1.1.0'gitlab-rake gitlab:check
この一歩はでこぼこで,ずっと間違っていた.同様に、make:***No rule to make target /include/x86_64-linux/ruby/config.h', needed by client.o'.Stop.
解決策は、プロンプトに従ってディレクトリを作成し、cpに必要なファイルを作成することです.次のようにします.私は3回実行しました.そのうちbackward.hファイルはネットで探しています.
mkdir -p/opt/gitlab/embedded/lib/ruby/include/cp/usr/include/ruby/*/opt/gitlab/embedded/lib/ruby/include/
mkdir -p/opt/gitlab/embedded/lib/ruby/include/ruby/cp -r/opt/gitlab/embedded/lib/ruby/include/*.h/opt/gitlab/embedded/lib/ruby/include/ruby/
mkdir -p/include/x86_64-linux/ruby/cp -r/opt/gitlab/embedded/lib/ruby/include/*/include/x86_64-linux/ruby/
#mysql./gem uninstall mysql 2を削除
#インストール指定バージョン./gem install mysql 2-v"0.3.20"
#バージョンの表示./gem list|grep mysql
4、検査配置この検査は、どのように配置が絶対的に正しいかを保証するためです.さもないと直接やると、惨めに死ぬよ.ここには多くの間違いがあります.具体的には私のよくある問題を見ることができます.同じことがあるかもしれません.
#構成がOKかどうかを確認します.データベースがOKであればgitlab-rake gitlab:setupを直接実行して、データベースのテーブルを作成できます.gitlab-rake gitlab:check
5.gitlabを初期化gitlab-rake gitlab:setupコマンドを実行するgitlabを初期化する.
#gitlabgitlab-rake gitlab:setupを初期化
gitlab-rake gitlab:setupを実行すると、以前のデータ情報が失われることを示すメッセージが表示されます.もちろんyesに設定しないで、後でどうやって遊びますか.
成功するとrootユーザーが作成されます
6、サービスを再起動#####後のいくつかのgitlab-ctl常用コマンドは、今回の構成は#構成サービスgitlab-ctl reconfigureを使用できません.
#サービスgitlab-ctl restartを再起動する;
#起動状況の表示gitlab-ctl tail
7、データベース情報を見ると、データベースの中に多くの表が出て、サービスも正常に起動した.
#多くのテーブルが自動的に作成されていることがわかります.show tables;
サービス正常起動
よくある問題1、倉庫ストレージディレクトリ権限人家は解決策を提供した.解決方法は倉庫にgtユーザーの権限sudo chown-R gitを設定することである.git/var/opt/gitlab/git-data/repositories
default... noUser id for git: 995. Groupd id for git: 993Try fixing it:sudo chown -R git:git/var/opt/gitlab/git-data/repositoriesFor more information see:doc/install/installation.md in section "GitLab Shell"Please fix the error above and rerun the checks.
2、gitlabはmysql 2の依存性がないSpecified'mysql 2'for database adapter,but the gem is not loaded.Add gem 'mysql2' to your Gemfile(and ensure its version is at the minimum required by ActiveRecord).excluded from capture due to environment or should_Capture callback 1ソリューション、インストール依存
#binディレクトリの下でgemのコマンドcd/opt/gitlab/embedded/binを実行
#指定されたバージョンのmysqlドライバgem install mysql 2-v「0.3.20」をインストール
3、gitlabでテーブルが見つからない問題駆動インストールに成功した場合、gitlab-rake gitlab:checkを実行し、テーブルが存在しない場合は、次のコードを実行してテーブルを作成することができます.
gitlab-rake gitlab:setup
4、gitlab-shell self-check failed自動検査に失敗し、この問題の原因は自分のサーバーが見つからなかったことであり、解決策は地元のhostsで自分のサーバーを指すことである.ソリューション、/etc/hosts 127.0.0.1 localhostを追加すればいい、私は先に機能をテストします
vim/etc/hosts
#追加127.0.0.1 localhost
転載先:https://blog.51cto.com/207698/2133703