問題タブ [gitlab-omnibus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
email - GitLab: SMTP 経由でメールを送信できません
Azure の VM で Ubuntu 14.04.4 LTS (Trusty Tahr) で GitLab Community Edition 8.8.5 68cd138 を使用しています。
Postfix の構成に失敗したので、SendGrid アカウントで SMTP を使用しようとしました。以前は成功していましたが、今回は成功しませんでした。新しいユーザーが自分のアカウントを作成すると、その人が電子メールを受信することを期待していますが、電子メールを受信することはありません。
そこで、/var/log/gitlab/gitlab-rails/production を調べたところ、次のことがわかりました。
関連する行はEnqueued ActionMailer::DeliveryJob (Job ID: 8059blahblah) to Sidekiq(mailers) with Arguments: "confirmation_instructions", "deliver_now", gid://gitlab/User/5 - これは GitLab がメールを送信しようとしています。
ログに関するGitLab のドキュメントには、「GitLab は、時間がかかる可能性があるタスクの処理にバックグラウンド ジョブを使用します。これらのジョブの処理に関するすべての情報は、このファイルに書き込まれます」と記載されています。したがって、GitLab がこれを SideKiq に渡すのは理にかなっています。
/var/log/gitlab/gitlab-rails/sidekiq.log を見ると、次のように表示されます。
最も関連性の高い部分は最初の行の終わりだと思います: ActiveJob::DeserializationError: 引数を逆シリアル化しようとしているときにエラーが発生しました: 'id'=5 のユーザーが見つかりませんでした
そのため、作成したばかりの新しいユーザーが (ID 番号 5 を介して) 見つからないため、GitLab はメールを送信できないようです。
他の誰かがこれに遭遇したり、これを修正したりしましたか?
あるいは、次に何を試すべきかアドバイスはありますか?
編集: この問題はhttps://gitlab.com/gitlab-org/gitlab-ce/issues/17250に似ているようです
gitlab - Gitlab レジストリ...実行していないとログインできませんか?
gitlab-registry ガイドに従って実行し、プロジェクトを有効にしました
HTTPS が正常に機能することはわかっています (letsencrypt 経由の TLS)。gitlab にログインすると、https に正常にリダイレクトされるためです。
ただし、dockerにログインしようとすると:
docker ログイン (私のドメイン)
私は得ています:
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
netstat -tulpn は、レジストリが 4567 で実行されていることを示しています
しかし、完全に接続できません
gitlab - Gitlab がバイナリ ファイルをテキスト ファイルと誤検出し、内部エラー (500 Whoops) を発生させる
問題とは
Gitlab のプロジェクトのコミット ビューからバイナリ ファイルを含むコミットのリンクをプッシュすると、「500 おっと、私たちの側で問題が発生しました」という内部エラーが表示されます。
この問題は、オリジンが上記と同じコミットであるマージ リクエストを作成するときにも発生します。Production.log によると、
Gtilab はバイナリ ファイルをテキスト ファイルと誤検出するようです。
そのため、HTML 整形エンジンがエラーを起こしているようです ("Encoding::CompatibilityError")
Gitlab がバイナリ ファイルとテキスト ファイルを誤検出することがあるのは問題ありませんが、このような誤検出が発生すると、Gitlab サーバーが Internal Error によってトランザクションを停止することが問題です。
このような判断ミスが発生した場合でも、サーバー トランザクションを続行する方法を誰か教えてもらえませんか?
たとえば、次のような回答を想定しています。
- 例 1) ファイルをバイナリとして強制的に認識させる。
- 例 2) このようなエラーが発生した場合、HTML 変換をバイパスします。
解決しようとしたこと。
あるファイルにGitlab用のバイナリファイルだと強制的に認識させることができるか確認するため、.gitattributeに「*.XXXバイナリ」という記述を追加しました。Git クライアントはファイルがバイナリ ファイルであると認識し、差分はテキストを出力しませんでした。しかし、プッシュしてもGitlabでは効果がありませんでした。
バージョン情報
- 最初は Gitlab 8.6.2 でこの問題に直面しましたが、8.8.3 でも同じ問題が発生します。
- 私はgit-2.7.2を使用しています
ありがとうございました。
gitlab - gitlab pre-receiveフックのpythonインポートエラー
以下は私のgithookです:
gitlab ubuntu インスタンスに ssh して実行すると、「hi from draj pre-receive githook」が正しく出力され、正常に終了します。
ただし、githook がインストールされているリポジトリにプッシュすると、次のようになります。
私はこれらの2つの投稿を見ました: How can I run a virtualenv python script as a git pre-commit hook and remote: ImportError: No module named gitlabで、環境変数が問題の原因であることを示唆しているようです。
そこで、環境を出力するように githook を変更しました。
そこで、gitlab インスタンスで pre-receive フックを直接実行したところ、次の結果が得られました。
しかし、pre-receive フックを呼び出すプッシュを実行しようとすると、次のようになります。
しかし、これらの記事で提供されていないのは、gitlab をインポートできるようにするために、pre-receive githook を使用して環境を正確に変更する方法です。
gitlab - Gitlab-CE の問題にバインドされたブランチのブランチ命名パターンを設定する方法はありますか?
Gitlab では、Issue に対して FROM および FOR で作成された新機能ブランチの命名規則がありました。my-awesome-issue-title-<ISSUE_ID>
この規則に従えば、Gitlab は問題のあるブランチを自動的にバインドし、このブランチから作成されたマージ リクエストもバインドします。
これは非常に優れた機能です。すべてのブランチに独自の命名規則とプレフィックスを使用して名前を付けることができ、問題の ID で終わることができます。
たとえば、次のブランチを作成できます。
features/add-awesome-button-354
features/improve-cool-action-398
hotfixess/fix-https-performance-issue-512
など... そして、Gitlab は自動的にブランチを一致する課題にバインドします。すごい!
しかし、GitLab の最後のアップグレード (Community Edition 8.9.2) から、命名規則が変更されたようです。 <ISSUE_ID>-my-awesome-issue-title
課題をブランチにバインドするのは非常に面倒です。または、愛されているカスタムのプレフィックス付き命名規則を放棄する必要があります... :-(
そのパターンを以前のものまたは自分のものに戻すように構成することは可能ですか?
nginx - GitLab の Mattermost での 400 Bad Request
ポート 802 を介して Ubuntu Server 16.04 仮想マシンで正常に動作する GitLab 8.9.4 (Omnibus):
external_url 'http://gitlab_url:802'
のこの行で Mattermost を有効にしました/etc/gitlab/gitlab.rb
。
mattermost_external_url 'http://gitlab_url:8065'
また、ルーターでポート 8065 を開きました。しかし、ブラウザで gitlab_url:8065 にアクセスしようとすると、次のようになります。
400 Bad Request
リクエストヘッダーまたは Cookie が大きすぎる
nginx
ガイドの「独自のサーバーで GitLab Mattermost を実行する」の部分はスキップしました。
「GitLab を使用して GitLab Mattermost を手動で (再) 承認する」の部分を読んで、 のApplications
セクションに移動するAdmin Area
と、「Mattermost」アプリケーションを見つけました。そこにある 2 つの URL が間違っていたので (おそらく初めてダミーを設定したmattermost_external_url
ため)、手動で修正しました。ポートあり/なし、またはその両方を試したかどうかはわかりません。
GitLab で Mattermost アプリケーションを削除して、Mattermost の構成をやり直そうとしました。私もMattermostをリセットしようとしました(これを行っています)が、常に同じエラーが発生します。
私もこれを設定しようとしました/etc/gitlab/gitlab.rb
:
ログを有効にしました:
mattermost['log_file_directory'] = '/var/log/gitlab/mattermost'
そしてcat /var/log/gitlab/mattermost/mattermost.log
基本的に私に言います:
データベースの自動アップグレードに失敗しました!!!
しかし、マターモストをセットアップしようとするのはこれが初めてです!
また、実行するたびに注意してくださいsudo gitlab-ctl reconfigure
(そして、すべての変更後にそれを呼び出しました)、laaarge出力が得られます。
(私はここに同じ質問を投稿しました)
jenkins - Gitlab Merge Request Builder プラグインを使用した CI ビルド保留中
GitLab 8.7.3 と Jenkins 2.3 を Gitlab Merge Request Builder Plugin 2.0.0 と共に使用しています
以前まで、gitlab でマージ リクエストを行うと、Jenkins のビルドが開始され、Jenkins は Build PASS または Failed というコメントを付けていました。
しかし今、マージリクエストに関するジェンキンスのコメントなしで「CIビルド保留中」があります
Jenkins で次のログを見つけました。
誰もこの問題を解決する方法を知っていますか? どんな助けでも大歓迎です。ありがとうございました。
gitlab - gitlab の未定義のメソッドは、可視性レベルを追加します
GitLab サーバー (CentOS の gitlab-ce パッケージ) を 8.5.8 から 8.9.6 に更新しましたが、再構成中にデータベースの移行に問題が発生しました。
Pastebin に完全なトレースを投げました: http://pastebin.com/W1AvYi2x
どんな援助でも大歓迎です。
編集:コードが含まれています。今回は、完全な再構成ではなく、rake コマンドを実行しました。
docker - 「https://gitlab/」への Gitlab リンク
公式イメージからgitlabをdockerコンテナにインストールしましたgitlab/gitlab-ce:latest
。このイメージには、すべての構成がファイルに含まれていますgitlab.rb
。https は nginx リバース プロキシによって行われます。
私の問題は、gitlab がそれ自体への絶対リンクを持っている場合、常に にリンクすることhttps://gitlab/
です。このホストは、[新しいグループ] ダイアログにも表示されます。
ドッカー呼び出し:
gitlab.rb:
Nginx の設定:
間違った URL を nginx に置き換えようとしました。これは、スクリーンショットのような外観では機能しましたが、リンクでは機能しませんでした: