https://www.cnblogs.com/mafeng/p/10237474.html
ドッカーは、Mac OS Xで展開して配置された特定のプロセスに基づいて、GitLabは次のとおりです。
Mac用ドッカーをインストールする1.(参照https://docs.docker.com/docker-for-mac/install/)
2.ダウンロードGitLabミラー
ドッキングウィンドウプルgitlab / gitlab-CE
ドキュメントを見つけることができますhttps://docs.gitlab.com/omnibus/docker/。
3.ファイル名を指定して実行GitLab例
sudoのドッキングウィンドウの実行は、-d \
--hostname xxxx.xxxx.xx \
--name gitlab \
常に--restart \
--publish 30001:22 --publish 30000:80 --publish 30002:443 \
--volume $ HOME / gitlab /データ:の/ var / opt / gitlab \
--volume $ HOME / gitlab /ログ:は/ var / log / gitlab \
--volume $ HOME / gitlab / configに:の/ etc / gitlab \
gitlab / gitlabこの
ボリュームオプションgitlabディレクトリので、容器が停止したり、データの損失が削除された場合、ローカルユーザディレクトリとしてマウントここ。オプション30000,30001および容器80(HTTP)、22(SSH)と443(HTTPS)ポートにマッピングされたホストマシンの30002を公開します。
4.設定例GitLab
GitLabの設定ファイルは/etc/gitlab/gitlab.rbに保存されています。
コマンドと "sudoのドッキングウィンドウのexec -it gitlab / binに/ bashの" bashのgitlabで容器に入ることがあり、また、コマンドを使用し、 "sudoのドッキングウィンドウのexec -it gitlab VI /etc/gitlab/gitlab.rb" 直接実行プロファイルのviエディタGitLab 。あなたはGitLabインスタンスを実行するときに使用するボリュームのオプションgitlabディレクトリがローカルユーザーディレクトリとしてマウントしている、そうgitlab.rbファイルが実際に$ HOME / gitlab / configのディレクトリの下に位置しているので。
コンテナファイル名を指定して実行gitlab-CTL再構成再構成gitlabで、ファイルgitlab.rbを変更した後。
4.1の設定GitLabサーバアクセスアドレス
使用されるアクセスアドレスhttpプロトコルの設定4.1.1
アドレスGitLabアクセスサーバに変更external_url:
external_url ' http://xxxx.xxxx.xxx:30000 '
ポート番号によって定義されたURLのために、あなたはそれ以外の場合はnginxのGitLabが使用できない原因となっ30,000コンテナポートを監視し、80 nginxのリスニングポート番号バックする必要があります。
nginxの[ 'LISTEN_PORT'] = 80
アクセスアドレスとポートに使用sshプロトコルの設定4.1.2
gitlab_rails [ 'gitlab_ssh_host'] = ' data.comdyn.cn '
gitlab_rails [ 'gitlab_shell_ssh_port'] = 30001
4.2の設定メールボックス
メールを送信する代わりに、デフォルトのSendmailのSMTPサーバを使用する場合、あなたはgitlab.rbの内容を変更する必要があり、
163メールボックスのEメールでの設定例下:
gitlab_rails [ 'gitlab_email_from'] = " [email protected]」
gitlab_rails [ 'gitlab_email_reply_to'] = ' [email protected] '
gitlab_rails [ 'smtp_enable'] =真
gitlab_rails [ 'smtp_address'] = " smtp.163.com "
gitlab_rails [ 'SMTP_PORT'] = 465
gitlab_rails [ 'smtp_user_name'] = " [email protected] "
gitlab_rails [ 'smtp_passwordは'] = "xxxxpassword"
gitlab_rails [ 'smtp_domain'] = " 163.com "
gitlab_rails [ 'smtp_authentication'] = "ログイン"
gitlab_rails [ 'smtp_enable_starttls_auto'] =真
gitlab_rails [ 'smtp_tls'] =真
gitlab_rails [ 'smtp_openssl_verify_mode'] = "ピア"
最後に、コマンドを使用して、ドッキングウィンドウの再起動gitlab gitlab、または実行gitlab-CTL再構成血管再構成gitlabを再起動します。
インポート既存のgitリポジトリ
既存のGitリポジトリ(例えば、テスト)を導入gitlab三段階:
5.1既存のすべての裸のgitリポジトリライブラリーは、(例えばtest.gitなど)gitlabディレクトリにコピーされます。
フロントはgitlab例を実行する場合は、オプションの使用は$ HOME / gitlab /データとしてgitlabボリュームデータディレクトリを持っている/、のgitリポジトリは、このように/ gitlab /データ/ gitのデータ/リポジトリ/ディレクトリ$ HOMEに保存されます。
gitlabグループに倉庫、複数のグループを作成でき、各グループは、リポジトリ以下同じサブディレクトリのグループ名に対応します。すべてのライブラリーは、それにサブディレクトリに対応する裸のグループにコピーされます。たとえば、あなたが倉庫をテストし、あなたがすべきサブグループにインポートする場合:
須藤のcp -r test.gig $ HOME / gitlab /データ/ gitのデータ/リポジトリ/サブ/
リポジトリにアクセスすることができgitlabを確保するためにはsudoのchownコマンド、同じ所有者のリポジトリやディレクトリに変更test.gitユーザー名とグループ名の所有者を使用して5.2。
5.3輸入倉庫
Gitlab・レーキ実行コマンドgitlab容器:
sudoのドッキングウィンドウのexec -it gitlab gitlab-すくいgitlab:インポート:リポジトリ[ '$ HOME / gitlab /データ/ gitのデータ/リポジトリ']
リポジトリ内のすべての倉庫をインポートし、自動的にグループを作成します。gitlabで倉庫がすでに存在する場合、システムは、倉庫をスキップします。
完了Gitlab 11.0.3は、ドメインコントローラを統合する必要が終了した後に、次のように、ドメインコントローラの設定手順について説明します。
gitlabディレクトリ:の/ etc / gitlab
gitlabプロフィール:/etc/gitlab/gitlab.rb
編集gitlab.rbのファイル:
Gitlab.rbはここで、設定ファイル、次の変更しました:
1.host、それを修正実際の状況に応じて、LDAPのIPを構築されています。
2.uid、設定CN、あなたはまた、UIDを設定することができ、あなたは(特に理由なしでの綿密な調査)を特定することはできません。
3.bind_dn、LDAP管理者アカウント、実際の状況に応じて、
4.password、LDAP管理者、実際の状況に応じて、
5.active_directoryは、接続用のLDAP設定は、それが偽の一部があるため、ドメインコントローラがマークされた広告であるかどうかであるように思われます。
6.allow_username_or_email_login、ユーザーのログイン名とユーザーのメールボックスは、ユーザーフレンドリーなので、本当のコンフィギュレーションすることができるかどうか。
7.base、同じディレクトリ内のユーザーのリスト、新規ユーザーは、LDAP担当者であるため、それがこのように実際の状況に応じて、構成された修正されました。
次のように私の構成は次のとおりです。
gitlab_rails [ 'ldap_enabled'] =真
###!** **以下の'EOS'で、このブロックを閉じることを忘れないでください
gitlab_rails [ 'ldap_servers'] = YAML.load << - 'EOS'
メイン:# 'メインは'このLDAPサーバのGitLab 'プロバイダID'で
ラベル' LDAP '
ホスト: '** ** ** **'。。。
ポート:389
UID: 'sAMAccountNameの'
bind_dn:' CN = ***、CN =ユーザー、DC = ***、DC = **** 、DC = COM」
パスワード: '*****'
暗号化: '平野' # "START_TLS"または"simple_tls"または"プレーン"
verify_certificates:真
active_directory:真
allow_username_or_email_login:
ベース: 'OU =ユーザー、OU = *****、DC = ***、DC = *****、DC = COM'
USER_FILTER: ''
## EEのみ
#group_base: ''
#のadmin_group ' '
#のsync_ssh_keys:偽
#の
#二次:# '二次プロバイダのID' GitLabである''第二LDAPサーバの
#ラベルは: 'LDAP'
#ホスト'_your_ldap_server' #
ポート:389
#UID: 'sAMAccountNameの'
#1 bind_dn' _the_full_dn_of_the_user_you_will_bind_with」
#パスワード: '_the_password_of_the_bind_user'
#暗号化: '平野' # "START_TLS"または"simple_tls"または"プレーン"
#verify_certificates:真
#1 active_directory:真
#allow_username_or_email_login:偽
#1 lowercase_usernames:偽
#1 block_auto_created_users:偽
#ベース: ''
#のUSER_FILTER: ''
### EEのみ
#group_base: ''
#のadmin_group: ''
#のsync_ssh_keys:偽
EOS
:(よりよく理解されるであろう、これらのパラメータに記事を読むためにはsvn統合LDAP認証)を説明するための構成パラメータ重要
- ホスト:LDAPサーバーアドレス
-ポート:LDAPサービスのポート
- UIDを:プロパティとして、uidをすることができますどのプロパティを確認するために、 CN、私たちはuidの使用
-あなたは、対応するTLSまたはSSLを記入後、TLSまたはSSLを有効にした場合、彼らは平野を満たしていなかった,:方法を
- bind_dn:ユーザーが検索アカウント情報の完全なバインドを検索するには、(で、アカウントの確認の読み取り許可が必要ユーザー名の入力が存在するユーザーを検索)
-パスワード:パスワード、bind_dnユーザーを検索するために、ユーザのLDAPサーバのログを記録するには、2つのパラメータbind_dnとパスワード
- active_directory:LDAPサービスは、ADのウィンドウです、私たちはここに書き込みfalseに、OpenLDAPのを使用している
- allow_username_or_email_loginを:ユーザーは、ユーザー名やメールボックス入力することができた場合、ユーザー名または証明郵便を許可するかどうか
-ベース:ユーザーの検索は、例えば、ユーザーはあなたが= gitlabをOU書くことができる場所、名前にあるOU gitlab gitLabにログインすることができますどの場所からの、直流ドメイン=、DC = COM
-フィルタ:フィルタ属性が付加され、例えば、唯一のフィルタemploye ユーザーの開発者のためのETYPE認証(はEmployeeType =開発者)
更新するように構成設定は完了です。
gitlab-CTL再設定
コンフィギュレーションが成功したかどうかを確認します。
gitlab-レーキgitlab:LDAP:チェック(番組第100ユーザ)
再起動gitlabサービス:
gitlab-CTLの再起動
注:ユーザーが特定の状態ではないことを確認してください
「アカウント無効」の状態で1わけではありません。
状態「パスワードを変更するにはログインする必要が最初の」2.ません。
(彼らはgitlab無効creadentials「クラウドのでLdapmainからあなたを認証しない」のログイン時にアカウントの上記の状態のいずれにおいても報告されます「」)
図では、ユーザの状態によって発行された検索要求であります:
ユーザーのステータスコードを分析: