Stash is now known as Bitbucket Server.
See the

Unknown macro: {spacejump}

of this page, or visit the Bitbucket Server documentation home page.

このページでは...

... Stash の使用に関するベストプラクティスを紹介します。

Stash を評価される方は...

... このページではなく、「はじめに」から始めることをお勧めします。

以下も参照して下さい...

... Bitbucket Enterprise Resources for a comparison of Stash and Stash Data Center, our clustered Stash solution. 

Atlassian Stash is the Git code management solution for enterprise teams. It allows everyone in your organisation to easily collaborate on your Git repositories, while providing enterprise-grade support for:

  • ユーザー認証
  • リポジトリのセキュリティ
  • 既存のデータベースと開発環境を統合します。

Atlassian offers two deployment options for Stash, to provide enterprise scaling and infrastructure flexibility, and to give administrators control over how Stash fits into their environment:

Stash サーバー

多くの組織では、Stash サーバーの単一インスタンスにて優れたパフォーマンスを提供します。本番環境で Stash サーバーを設定する際のベストプラクティスについては、引き続きこのページをお読みください。

Stash Data Center

For larger enterprises that require HA and greater performance at scale, Bitbucket Data Center resources uses a cluster of Stash nodes to provide Active/Active failover, and is the deployment option of choice. 

後から Stash Server の単一インスタンスを Stash Data Center へ容易にアップグレードできます。

 

このページの内容

Stash をホストするためのプラットフォーム要件

Stash は Windows、Linux および Mac システム上で実行できますが、エンタープライズ用には Linux のみを推奨し、サポートしています。この推奨は、Stash を使用した当社独自のテストや経験に基づいています。

Java、外部データベース、Web ブラウザおよび Git のサポートされるバージョンの詳細については、「サポートされるプラットフォーム」ページを参照してください。

Stash Data Center 要件の詳細については、「Stash Data Center のインストール」を参照してください。

Stash に関するパフォーマンスの考慮事項

一般的に、Stash は非常に安定性が高く、メモリ消費量が低い製品です。Git ホスト操作 (特に複製) 以外、スケーラビリティの制限はありません。当社ではこれが製品のスケーラビリティの制限であると把握しています。制限は、システムのコアの数に比例します。

例えば、内部 Stash インスタンスから収集されたデータは、およそ  50  名の開発者のチーム、関連する連続統合インフラストラクチャを示し、 30   の同時複製操作のピーク並行処理と  2の同時複製操作の手段が表示されます。同様の使用パターンを持つ顧客では、 1000   名のユーザーを  40   コア、RAM のサポート量のマシン上でサポート可能であろうと控えめに予測します。40より大きいピーク並行処理が予測されますが、Stash はサーバーの過負荷を防ぐため、受信リクエストをキューに入れるよう設計されています。

Stash Server – アトラシアン社内で実行した Stash 本番環境インスタンスの結果については、「Stash 本番環境サーバーデータ」を参照してください。

Stash Data Center – see Bitbucket Data Center Performance for the results of our performance testing for clusters of different sizes.

Stash を使用した高可用性

Stash が開発ワークフローの重要な部分の場合、Stash の可用性を最大限に引き延ばすことは重要な課題項目となります。

Stash Server – Stash を高可用設定でセットアップする必要がある場合の背景情報については、Stash の高可用性」を参照してください。 

Stash Data Center – see Failover for Bitbucket Data Center for information about how Stash Data Center provides HA and almost instant failover.

スケーラビリティ

Stash はエンタープライズの拡張およびインフラの柔軟性を考慮して構築されており、管理者は Stash を環境に適合させる方法の制御が可能です。 

  • 多くの組織では、Stash サーバーの単一インスタンスにて優れたパフォーマンスを提供します。本番環境で Stash サーバーを設定する際のベストプラクティスについては、引き続きこのページをお読みください。
  • HA および高性能が必要な大きなエンタープライズでは、Stash Data Centerは Stash ノードのクラスターを使用しており、選ばれたデプロイオプションとなっています。

後から Stash Server の単一インスタンスを Stash Data Center へ容易にアップグレードできます。

Stash Server – 組織のニーズに合わせて Stash サーバーを調節する方法についての詳細は、Stash の拡張」を参照してください。また、CI ツールが変更のために Stash をポールする場合の Stash 独自の性能についての詳細は、「Stash を拡張して連続統合性能を実現する」も参照してください。

Stash Data Center ダウンタイムなしで素早く追加容量をプロビジョニングする方法についての詳細は、クラスタノードを Stash Data Center に追加する」を参照してください。

Stash のプロビジョニング

Stash をプロビジョニングするときの考えられるアプローチ:

本番環境で Stash Server を設定する

Stash を本番環境またはエンタープライズ環境でセットアップするときは、以下の項目の設定を強く推奨します:

Stash を専用ユーザーとして実行する
Stash をサービスとしてインストールする
外部データベースを使用する
  • 本番環境では、Stash は組み込みデータベースではなく、外部データベースを使用する必要があります。初めて Stash を起動する前に外部 DBMS (MySQL など) をセットアップします。これにより、Stash を初めて実行したときに起動されるセットアップウィザードを使用して、Stash を DBMS に接続できます。「Stash を外部データベースに接続する」を参照してください。
既存のユーザーディレクトリへ接続する
Stash ホームディレクトリを保護する
  • 本番環境では、Stashホームディレクトリを認証されていないアクセスから保護する必要があります。詳細は「Stash ホームディレクトリ」を参照してください。
Stash を HTTPS で保護する
  • 特にデータが機密で、Stash がインターネット上にある場合、Stash へのアクセスは、HTTP over SSL を使用して保護する必要があります。「Stash を HTTPS で保護する」を参照してください。
Git リポジトリへの SSH アクセスを有効にする
  • Stash ユーザーが独自の SSH キーを Stash にできるよう、Stash 内の Git リポジトリへの SSH アクセスを有効にし、これらの SSH キーを使用してユーザーのコンピューターと Stash サーバー間の Git 操作を保護します。「Git リポジトリへの SSH アクセスを有効にする」を参照してください。
Stash へのコンテキストパスを変更する
  • プロキシの背後で Stash を実行中の場合、または他のアトラシアンアプリケーション (または Java web アプリケーション) を Stash と同じホスト名やコンテキストパスで利用できるようにしている場合、Stash のコンテキストパスが一意となるよう設定する必要があります。「Stash を別のコンテキストパスへ移動する」を参照してください。

本番環境で Stash を管理する

Stash のアップグレード
  • For production environments we recommend that you test the Stash upgrade on a QA server before deploying to production. See the Stash upgrade guide.
バックアップとリカバリ
  • 会社のポリシーに沿ったデータ復旧計画を確立することを強く推奨します。Stash のツールやバックアップ戦略については、「データリカバリとバックアップ」を参照してください。
ログ
  • Stash server logs can be found in <STASH_HOME>/log. Logs for the bundled Tomcat webserver can be found in <Stash installation directory>/log. See Stash debug logging.
  • Stash displays recent audit events for each repository and project (only visible to Stash admins and system admins), and also creates full audit log files that can be found in the <Stash home directory >/audit/logs directory. Note that Stash has an upper limit to the number of log files it maintains, and deletes the oldest file when a new file is created – we recommend an automated backup of log files. See Audit logging in Stash.
  • ラベルなし