プライベートネットワーク内のGitLabで電子メールの確認を無効にする方法

プライベートネットワーク内のGitLabで電子メールの確認を無効にする方法

最近、LAN に GitLab をインストールしました。ユーザーがアカウントを作成しようとすると、電子メールの確認メッセージが表示されます。ここでの質問は、電子メールの確認機能などすべてを無効にしたいということです。そのためには、GitLab 構成ファイルでどのファイルを構成する必要がありますか? どのように実行すればよいですか? 変更する必要があるオプションはどれですか? Ruby に非常に弱いので、詳しく説明してください。

答え1

こんにちは。最近、LDAP ユーザーの確認をスキップするために GitLab にパッチを適用する必要がありました。これは良いパッチだとは思いませんが、動作します。

vim /opt/gitlab/embedded/service/gitlab-rails/lib/api/users.rb:

  post do
    authenticated_as_admin!
    ...
                                # <patch:     
    if attrs[:extern_uid]       # skip confirmation for LDAP users
       user.skip_confirmation!  #
    end                         # >

    if user.save
      present user, with: Entities::UserFull
    else

当然再起動が必要です ( gitlab-ctl restart )

Google グループの回答に基づく: https://groups.google.com/forum/#!topic/gitlabhq/ctf8x0xpOOE

答え2

バージョン7.9.01.0以降では、JSONにパラメータを含めることでメール確認を省略できますconfirm。例えば、ユーザーを作成したい場合ジェンキンスPOST電子メールの確認がない場合、ローカルの GitLab API に対して次のペイロードを実行します。

POST /api/v3/users?private_token=<administrator token>
{
 "email" : "[email protected]",
 "password" : "123456",
 "name" : "Jenkins CI Server",
 "username" : "jenkins",
 "confirm" : "no"
}

パラメータemail、、passwordは必須です。この変更はnameusername専念ご覧のとおり、確認パラメータは、電子メールによる確認を無効にするためにfalse、 、のいずれかになることもあります。0f

関連情報