GitHub Actions にアーティファクトを保存する方法: ワークフローの実行間でデータを保存して永続化するためのベスト プラクティス?
GitHub Actions にアーティファクトを保存する場合は、データを確実に保存するためのベスト プラクティスに従うことが重要です整合性とストレージの効率的な使用。方法は次のとおりです:
-
upload-artifact
アクションを使用します: この専用アクションは、アーティファクトを安全かつ確実に保存するように設計されています。ファイル、ディレクトリ、またはワークスペース全体をアーティファクトとしてアップロードできます。
-
アーティファクトに論理的に名前を付けます: 後で簡単に識別して取得できるように、アーティファクトに明確で説明的な名前を割り当てます。
-
アーティファクトのサイズを考慮する: 過剰なストレージは GitHub Actions の請求に影響を与える可能性があるため、保存するアーティファクトのサイズに注意してください。大きなアーティファクトを圧縮するか、サードパーティのサービスを使用して外部に保存することを検討してください。
-
適切な有効期限ポリシーを設定する: 保存されたアーティファクトの有効期間を決定し、特定の保持要件に基づいて有効期限ポリシーを設定します。これにより、不要なストレージを防止し、コストを削減できます。
-
集中ストレージ リポジトリを使用する: 大規模なアーティファクトや長期間存続するアーティファクトを管理するには、GitHub Actions の外部にある集中ストレージ リポジトリの使用を検討してください。これにより、ストレージに対するより詳細な制御を確立し、GitHub Actions のストレージ制限を超えないようにすることができます。
GitHub Actions にアーティファクトを保存する方法: ストレージの過負荷を防ぐために古いアーティファクトを期限切れにしてクリーンアップする戦略?
ストレージの過負荷を防ぐには、古いアーティファクトを期限切れにしてクリーンアップする戦略を実装します:
-
有効期限を設定します: を使用してアーティファクトの有効期限を設定します。
retention_days
アクションの upload-artifact
パラメーター。これにより、設定された有効期限に達すると、アーティファクトが自動的に削除されます。
-
ガベージ コレクション ワークフローを使用する: 期限切れのアーティファクトを特定して削除するために定期的に実行される自動ワークフローを作成します。
-
クリーンアップ スクリプトの実装:クリーンアップ スクリプトをワークフローに統合し、アーティファクトの経過時間や使用頻度などの事前定義された基準に基づいてアーティファクトを選択的に削除します。
-
外部アーティファクト リポジトリと統合: Amazon S3 や Azure Blob Storage などのサードパーティのアーティファクト リポジトリとの統合を検討します。これらのサービスは、アーティファクトの有効期限と削除のためのカスタマイズ可能なライフサイクル管理機能を提供します。
GitHub アクションにアーティファクトを保存する方法: アーティファクトのストレージ コストとスペース使用率を最適化するオプション?
アーティファクトのストレージ コストとスペース使用率を最適化するには:
-
アーティファクト圧縮を使用します: アーティファクトをアップロードする前に、圧縮技術を使用してアーティファクトのサイズを削減します。これにより、ストレージ スペースの使用量が最小限に抑えられ、コストが削減される可能性があります。
-
アーティファクトを外部に保存する: 大規模なアーティファクトまたはほとんど使用されないアーティファクトを、Amazon S3 や Azure Blob Storage などの外部クラウド ストレージ サービスに保存します。これらのサービスは、通常、コスト効率が高く、スケーラブルなストレージ オプションを提供します。
-
一時ストレージを検討する: ビルドまたはビルド中にのみ必要なアーティファクトを保存するには、GitHub Container Registry や Docker Hub などの一時ストレージ ソリューションを利用します。テスト段階。一時ストレージは、指定した期間が経過したとき、またはコンテナが終了したときに、アーティファクトを自動的に削除します。
-
共有ストレージを使用する: GitHub パッケージやアーティファクトなどの共有ストレージ オプションを検討して、複数のリポジトリ間でアーティファクトを統合し、ストレージを削減します。冗長性。
以上がGithub アクションにアーティファクトを保存する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。