リリースサイクルを回すことに集中し、最もリクエストの多かった Stash 機能を実装した結果が、本日リリースした Stash 2.3 です。Stash 2.3 は、エンタープライズチーム向けの機能 (シングルサインオン) と Git オペレーション (サブモジュール認識とブランチ削除) を導入し、Stash をさらにスケーラブルなものとしました (SCM キャッシュプラグイン)。

Stash 2.3 無料トライアル

Crowd シングルサインオンに対応

addons_burst2多くのエンタープライズチームが Atlassian Crowd を利用し、 Active Directory や OpenLDAP などの人気のディレクトリサーバーを使いシングルサインオン (SSO) を統合・展開しています。ユーザーからの多くの投票に応え、Stash は Crowd SSO をサポートいたしました

  • IT 管理者は Crowd を利用してユーザー管理を一元化でき、最低限の設定でアトラシアンの全アプリに SSO を提供することができます。
  • エンドユーザーはアトラシアンのアプリケーションのひとつに一度ログインすれば、他のアプリケーションで度重なる認証に対応する必要がなくなりとても便利です。一度ログインすれば、Stash を含む Crowd に接続した全アプリケーションに自動的にログインすることになります。

実質的に、Stash においてすべてが接続可能であり、同じ認証を用いています。この認証に基づいた新しいプラグインにより、Stash は他のシングルサインオンソリューションとの統合が可能です。

さらに高いスケーラビリティ

Stash 開発チームの Stash パフォーマンスへのアプローチは単純明快です。高いスケーラビリティとスピードを保つことです。Stash は、ストリーミングやページング API 、ユーザーに表示するデータを構築するために使用する多くの Git オペレーションの繊細なチューニングにより素早い応答を維持し、メモリ消費を制限します。パフォーマンスへの重点的な取り組みの最新の成果のひとつが、Stash SCM キャッシュプラグインです。

大規模インスタンスにおける継続的インテグレーション (CI) や変更時 Stash にポーリングするため設定されるその他の自動ツール機能は、使用中の Stash サーバーに高負荷を与える可能性があります。例えば、任意リポジトリに対して設定した数多くのビルドを持つ CI サーバーがあるとします。変更のため各ビルドが Stash にポーリングし、変更検出時に新規ビルドを開始します。ご使用の CI サーバーが、並列、および・または連鎖ビルドステップをサポートする場合、一般的に、各ビルドは同じリポジトリの複数のクローンオペレーションになります。その結果、変更のための数多くのポーリングと、変更検出時におけるリポジトリクローンの噴出が起こります。

SCM キャッシュプラグインはキャッシングレイヤーを追加し、ディスク上でクローンオペレーション実行中に Git によって生成されたパックファイルをキャッシュします。これはご使用のサーバーの CPU ヒット値を大きく減少し、継続的インテグレーションにより反復リクエストが行われる際、応答時間を大幅に改善します。最新テスト結果の一部をご覧ください。

scm-cache

ご使用の Stash サーバーへの Stash SCM キャッシュプラグインのインストールと設定に関しての詳細はこちらをご覧ください。

ブランチの削除

Git が他の SCM システムと異なる点は、コードベースのブランチとマージが簡単に低価格で行えることです。しかし、その悪影響のひとつに、マスターにマージ後の大量のブランチがリポジトリに長い期間たまることがあります。

これまで、マージ後のブランチ削除はコマンドラインから手動で処理してきました (すなわち、たいていは完全に処理されることはないということです) 。

terminal-branches

Stash 2.3 では、プルリクエストをマージする際、簡単なブランチ削除の方法を装備しました。ご推察の通り、Stash は削除を許可する前に数点をチェックします。以下の場合、マージ後のブランチ削除が実行されません。

  • ブランチがデフォルトリポジトリブランチである場合。
  • ユーザーがブランチ削除の許可を持たない場合。
  • ブランチがオープンプルリクエストの対象である場合。

stash-delete-branch-blog

チームの時間を節約しましょう。ボックスをクリックするだけで、プロセスを自動化し、コードを整理できます。

Git サブモジュールの認識

Git サブモジュールを使うと、外部 Git リポジトリを自分のリポジトリのディレクトリ構造にネストできます。サブモジュールは一般的に、共有ライブラリなどの外部コードベースを埋め込むために使われます。外部コードベースはそのメインプロジェクトでそれぞれ個別にアップデートされます。サブモジュールに関する詳細説明、一般的な使用方法については、Git サブモジュールの概要をご覧ください。

Stash 2.3 では、 Stash ユーザーインターフェースでの Git サブモジュールの認識が簡素化されています。

stash-git-submodule-blog2

Stash が、ある特定のサブモジュールをホストしている外部リソース (Bitbucket や Github など) を認識した場合、Stash UI にサブモジュールのホームリポジトリへリンクが生成されますので、クリックするだけで関連プロジェクトへ簡単にアクセスできます。

Stash を用いて Git リポジトリをもっと有効活用しよう

Stash をお使いではないですか?今すぐ無料のトライアルを始めましょう。数分で設定し開始できます。

Stash 2.3 無料トライアル

既に Stash をお使いですか? Stash 2.3 があなたをお待ちしています。リリースノート全文をご覧になり開始してください。


*本ブログは Atlassian Blogs の翻訳です。本文中の日時などは投稿当時のものですのでご了承ください。
*原文 : 2013 年 3 月 26 日投稿 “Stash 2.3: Crowd Single Sign-on, Branch Cleanup and Git Submodules