3

皆さん、こんにちは。

会社で GitLab CE Omnibus (8.4.3) インストールを実行しています。私たちは最近 CI を使い始めましたが、まだ主にドキュメントを生成するためです。バイナリ ビルドは現在追加中です。

システムの一部として、毎日のバックアップ タスクを実行します (を使用gitlab-rake gitlab:backup:create)。ここ数日で、これらのアーティファクトは非常に大きくなり始めましたが、この段階ではドキュメントにすぎません (doxygen で生成された画像が問題の主な原因のようです)。アーティファクトがバックアップに含まれるため、毎日のバックアップ (現在の戦略では 2 週間分が保持されます) のサイズは扱いにくくなっています。

いくつかの回答をかなり探しましたが、ヒットのほとんどは、この段階での機能要求に関連しているようです。CI がまだ比較的新しいことは承知していますが、アーティファクト管理は要件リストのかなり上位にあると思います。

3 つの質問があります。

  1. GitLab で古いアーティファクトを管理/削除する方法はありますか?ディスクから手動で削除する (そして、その過程でリンクを壊す可能性があります) 以外の方法はありますか? このプロセスを自動化できれば理想的です。

  2. 1 に続いて、クリーニング戦略で特定のクラスのアーティファクトをターゲットにすることは可能ですか (つまり、古いドキュメント ターゲットのみを削除し、バイナリは削除しないなど)?

  3. 完全に、または CI ターゲット タイプに基づいて、推奨されるgitlab-rake gitlab:backup:createバックアップ手順からアーティファクトを除外することは可能ですか?

リンク、ヒント、アドバイスをいただければ幸いです。

敬具、

[更新] もう少し読んで、次の結果が得られました。

  1. Gitlab 8.5 の時点で、単一のビルド アーティファクトを手動で削除できます。これは役に立ちますが、スケーラブルではありません。適切なアーティファクト管理 (有効期限などを含む) のタイムラインは、Gitlab 8.7 のようです。

  2. さまざまなビルド ターゲット アーティファクトをさまざまな方法で処理するという明確な要求はまだないようです。

  3. バックアップ タスクからのアーティファクトの削除に関する情報はありません。

4

3 に答える 3

5

1と2の答えも知りたいです。

バックアップ タスクで項目を除外するには、SKIP 引数を試してください。

gitlab-rake gitlab:backup:create SKIP=artifacts,builds

リポジトリ、lfs、アップロードをスキップすることもできます。それらをカンマ区切りのリストとして指定するだけです。https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/raketasks/backup_restore.mdも参照してください。

于 2016-03-15T12:13:57.970 に答える
1

私の質問で述べたように、成果物を管理するためのより良いサポートは、おそらく Gitlab 8.7 の頃に予定されています。バックアップからアーティファクトを削除する方法については、Marco van Neerbos による以前の回答を参照してください。

現時点では、既存のアーティファクトを管理するためのオプションは次のとおりです。

  1. Gitlab 8.5 にアップグレードすると、個々のビルドを手動で削除できます (引き続きそれらを追跡して、[消去] ボタンをクリックする必要があります)。
  2. Gitlab CE Issue 5572から修正を加えたもので、グループとプロジェクト名がわかっている場合は、以下を使用して一括消去 (およびデータベースの更新) を行います。

$ sudo gitlab-rails console
> p = Project.find_with_namespace("group/project")
> p.builds.where.not(artifacts_file: nil).find_each(&:remove_artifacts_file!)
> p.builds.where.not(artifacts_metadata: nil).find_each(&:remove_artifacts_metadata!)

remove_*コマンドは を返しますが、nilディスクをチェックすると、ファイルがなくなり、関連するビルド ページからリンクが削除されます。

  1. 現在、アーティファクト関連の機能をアーティファクトの特定のタイプ/クラス/ターゲットに制限することに関する情報は見つかりません。
于 2016-03-17T01:55:00.390 に答える