GitLab:更新のあと「This job does not have a trace.」と出る
GitLab は、18.0 以降に上げた GitLab Self-Managed で出ることがあるエラーとして、これを文書に載せています(ジョブのログのトラブルシューティング)。次の2つがそろったサーバーで、更新の移行が失敗したのが原因のことがあります:
- オブジェクトストレージを使っている。
- 逐次のログ(incremental logging)を、機能フラグ
ci_enable_live_traceで前から入れていた。このフラグは GitLab 18.0 でなくなりました。GitLab によると、GitLab Environment Toolkit や Helm チャートで作ったサーバーでは最初から入っており、手で入れた場合もあります。
This job does not have a trace.
更新で起きるわけ
逐次のログは、もとはその機能フラグでした。GitLab 17.11 でフラグがサーバーの設定に置き換わり、18.0 でフラグが消えました(設定の履歴)。逐次のログでは、ランナーがログを少しずつ送り、GitLab はそれを Redis に置いて 128 KB ごとに永続の置き場へ移し、ジョブが終わると Sidekiq のワーカーがログをオブジェクトストレージに保管します。逐次のログを使わないと、送られた分はディスクに一時的に置かれ、裏の処理がログを保管するまでそこにあります(逐次のログ)。
直し方
GitLab が示す直し方は1つです。逐次のログを入れ直すと、そのジョブのログが見えるようになります。管理者の権限と、CI/CD の成果物・ログ・ビルドのためのオブジェクトストレージが要ります。
- 管理エリアで:Admin を選び、Settings > CI/CD で Job logs を開き、Incremental logging configuration の Turn on incremental logging にチェックを入れて Save changes。
- 設定の API で:同じ設定が
ci_job_live_trace_enabledです(アプリケーションの設定の API)。
curl --request PUT --header "PRIVATE-TOKEN: 管理者のトークン" \ --url "https://gitlab.example.com/api/v4/application/settings" \ --data "ci_job_live_trace_enabled=true"
先に今の値を見るなら、管理者で GET /application/settings を読み、ci_job_live_trace_enabled を探します。入れたとき、もう動いているジョブはそのままディスクにログを書き、新しいジョブから逐次のログになります(逐次のログの設定)。
このジョブに API が返すもの
ジョブの API にはこの文はありません。GitLab のソース(lib/gitlab/ci/trace.rb・lib/api/ci/jobs.rb・2026年10月28日に確認)では、ログの GET /projects/:id/jobs/:job_id/trace は、保管済みのログ、ログの逐次の断片、ディスクのログのファイルの順に探し、どれも無ければ 200 で中身の無い答えを返します。そのため API で読む道具からは、まだ何も書いていないジョブや、ログを消されたジョブと同じく、空のログに見えます。ジョブのログが見えない・空の理由も見てください。
IntelliJ IDEA で GitLab のジョブのログを見るなら
Lesstep の Pipeline Inbox for GitLab CI は、JetBrains IDE(2024.1 以降)のプラグインです。GitLab のプロジェクトのパイプラインをジョブといっしょに一覧にし、ジョブのログを IDE の下のコンソールで、ログの色のまま開きます。動いているジョブは書かれるそばから追います。ログは API で読むので、こうしたジョブには、終わったジョブにログが無いとジョブの状態を添えて言います。直すのはサーバーの側で、上のとおりです。見るのは無料、再実行・取り消し・実行は Pro(月 US$1.50・30日間の無料試用つき)です。画面は日本語です。
GITLAB は GitLab Inc. の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは GitLab Inc.・JetBrains のいずれとも提携しておらず、承認も受けていません。
ほかに:GitLab のジョブのログが見えない・空 · GitLab のパイプラインやジョブの断り(400・403・409・429) · GitLab の「Insufficient permissions to set pipeline variables」 · GitLab の 404「Group Not Found」 · GitLab の「insufficient_scope」 · JetBrains の IDE で GitLab のパイプラインを見る · English