Markdownキャッシュ
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab Self-Managed
パフォーマンス上の理由から、GitLabでは、次のようなフィールドのMarkdownテキストのHTMLバージョンをキャッシュします:
- コメント
- イシューの説明。
- マージリクエストの説明。
これらのキャッシュされたバージョンは、external_url設定オプションが変更された場合などに、古くなる可能性があります。キャッシュされたテキスト内のリンクは、古いURLを参照したままになります。
キャッシュを無効にする
APIまたはRailsコンソールを使用して、Markdownキャッシュを無効にすることができます。
APIを使用する
前提要件:
- 管理者アクセス権が必要です。
APIを使用して既存のキャッシュを無効にするには、次のようにします:
PUTリクエストを送信して、アプリケーション設定の
local_markdown_version設定を増やします:curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \ --url "https://gitlab.example.com/api/v4/application/settings?local_markdown_version=<increased_number>"
このAPIエンドポイントの詳細については、アプリケーション設定の更新を参照してください。
Railsコンソールを使用
前提要件:
- Railsコンソールにアクセスできる必要があります。
グループの場合
グループのキャッシュを無効にするには、次のようにします:
Railsコンソールを起動します:
sudo gitlab-rails console更新するグループを見つけます:
group = Group.find(<group_id>)グループ内のすべてのプロジェクトのキャッシュを無効にします:
group.all_projects.each_slice(10) do |projects| projects.each do |project| # Invalidate issues project.issues.update_all( description_html: nil, title_html: nil ) # Invalidate merge requests project.merge_requests.update_all( description_html: nil, title_html: nil ) # Invalidate notes/comments project.notes.update_all(note_html: nil) end # Pause for one second after updating 10 projects sleep 1 end
プロジェクトの場合
単一プロジェクトのキャッシュを無効にするには、次のようにします:
Railsコンソールを起動します:
sudo gitlab-rails console更新するプロジェクトを見つけます:
project = Project.find(<project_id>)イシューを無効にします:
project.issues.update_all( description_html: nil, title_html: nil )マージリクエストを無効にします:
project.merge_requests.update_all( description_html: nil, title_html: nil )注釈とコメントを無効にします:
project.notes.update_all(note_html: nil)