Atlassian Git Essentials を発表 (スクリーンショットと動画あり)

【 この記事は、3201人に読まれています】

 

アトラシアンのエバンジェリストに就任以来、開発ライフサイクル全般で役に立つことの大切さをお伝えし続けてまいりましたが、それが一つの形として発表されました。

ちなみに、私は社内事情をまだまだ十分に把握しきれていないのですが、「こうあるべき」「こうなっていないと (ある意味) 困る」と思っていたことが、ここ数日の製品のアップデートで実現されてきて、そして Git Essentials として発表となりました。私からすると、「Atlassian やるな」という気持ちですw

あまり多くは語れませんが、これからこの流れは、世の中の流れとともに Atlassian 製品でも加速していくものだと思います。そんな最先端事情も (Atlassian 製品に限らず) お伝えしていこうと思います。エバンジェリストですから。

 

Git Essentials の発表


 

発表資料は、以下をご覧ください。

アトラシアン:

メディア:


 

動画で把握


 

デモ動画では、ASP.NET の Web アプリケーションを開発するシナリオにしています。途中 Visual Studio がでてきますが、それ以外は、アトラシアン製品です。また、継続的インテグレーションをしていますが、ビルドとテストが成功したら、自動でステージング環境へデプロイを行っています。その後に変更が反映されていることを確認をして、本番稼働環境へデプロイをして変更が反映されていることを確認しています。どの製品の画面かとかは気にせずに「開発の流れ」と「トレーサビリティ」をご覧ください。

大まかな流れは以下になります (Git Essentials の内容より広い範囲を扱ったデモになってます):

デモの流れ:

  1. 企画/構想書を作成する [Confluence]
  2. 企画からバックログ項目を切り出す [Confluence と JIRA の連携]
  3. 企画/構想書とバックログがタグつけられ ID とステータスが常に把握できる [Confluence と JIRA の連携]
  4. プロダクトバックログの相対的見積もりと優先順位づけ [JIRA Agile]
  5. スプリント計画 [JIRA Agile]
  6. タスクボード [JIRA Agile]
  7. 開発の開始: Git ブランチの作成 [JIRA と Stash の連携]
  8. 開発の開始: 開発マシンにてコードを取得 [Stash と SourceTree の連携]
  9. 開発とテスト: コード変更と Git コミット [Visual Studio]
  10. 開発の完了: Git Push と Pull Request [SourceTree と Stash の連携]
  11. コードレビューとマージ [Stash]
  12. 継続的インテグレーション [Stash と Bamboo の連携]
  13. ステージング環境への自動デプロイ [Bamboo]
  14. ステージング環境での確認 [Bamboo, JIRA から確認可能]
  15. 本番稼働環境へのデプロイ [Bamboo, JIRA から実行可能]
  16. 全体のトレーサビリティの確認/把握 [JIRA, Stash, Bamboo それぞれの視点で相互に追跡可能]
  17. 開発イベントのタイムラインへの通知 [HipChat]


 



 

Git Essentials で目指しているもの


 

大きくわけると2つあります。一つは、トレーサビリティです。一言でいうとそうなりますが、背景は私が MS エバンジェリストから言い続けていたこととまったく変わりがありません。この辺りは、先日の デブサミ 2014 や Atlassian Users Group での講演でもお話ししました。

開発の成果物は粒度も表現も多岐にわたります。そして利害関係者によってそれらの扱いや扱えるか否かも変わっていきます。そんな中で、よりよい、ビジネスにアラインしたソフトウェアを創り続けることが求められています。そのさなかに開発者もマネージャも情報収集に追われ、疑心暗鬼になり、本業に注力できないわけには行けません。これをデブサミ2014では、「開発現場の資質」と表現しました。そのための開発の環境としてみたときに、よりよいサイクル、同ロールも異なるロールも協調できるようにするには、今までの環境を見直す必要もでてきます。当然ツールについても見直しが必要です。今あるものを変えるか否かではなく、これからを見据えた開発環境を考え、それに合うものを使うことを考えなければなりません。

今回の Atlassian の進化は、それにマッチしています。時代の流れをよく見て製品を進化させつつ、既存のユーザーの皆さんにスムーズに進化を活かしていただけるよう注意しながらの進化だと私は評価します。

このときにも Atlassian のコア製品でもある JIRA が中心にあります。私は、Rational Software 時代から ClearQuest を日本語化することにも携わり、日本の先進的なお客様への導入のお手伝いをしてますので、このエリアがとても重要な柱であることは十分に理解しています。物事の遂行するときの基本についても デブサミ2014Atlassian エバンジェリストとしての所信表明講演 でもお伝えしています。

もう一つは、DVCS である Git のワークフローの定着です。小さなエッジでギークで、常にコミュニケーションのとれているチームならば可能ですが、スキルや経験がまばらであったり、継続的デリバリーのサイクルが非常に短くなってくるとお作法の違いがあると先述のトレーサビリティにも影響を及ぼしてきます。Git-flow のように、かつ、それよりもひょっとしたらシンプルにワークフローを定め遂行することは今の開発では必要かもしれません。これを Stash の力と JIRA の力で実現します。その流れで Bamboo による継続的インテグレーション、そして自動デプロイメントを行うことで、安定し、定着し、本業に注力できる開発環境が整うことになります。

Atlassian ではこれらを実績があり、ご評価いただいている JIRA (+JIRA Agile), Stash, Bamboo のソリューションで実現しました。これが Git Essentials です。

 

Git Essentials で JIRA 中心に何が変わるのか


 


プレスリリースでもでてくるこの画面ショットをご覧ください。これは JIRA 6.2 で実現できるある機能を示しています。今までの JIRA でも Stash と連携することで、「Create Branch」をクリックするだけで Git のブランチを作成する機能はありました。Stash を使うと、Git のブランチ作成から、Pull Request によるコードレビューと承認フロー、マージの実施が行えますが、今回の進化で、JIRA から関連するブランチ、コミット、そして Pull Request を把握することが可能になります。たとえば、関連した Pull Request をクリックすると、


過去を含めたリクエストの一覧を得ることができます。これを見ると過去に一回レビューがOKになり、マージをしたが、その後にこの課題が再オープンされ、リクエストが却下されたことや、今リクエストが一件オープンになっていることがわかります。リンクをクリックすることで Stash の画面にシームレスに遷移し、実際のコードレビューの結果 (コードコメントや Diff など) を見ることができます。

この流れは、継続的インテグレーションとデプロイでも同じです。Bamboo で管理しているこれらも JIRA から把握することができます。

スクリーンショット 2014-02-26 17.24.58
この課題 (タスクやバグ) を含んでいるビルドが今、どの環境にデプロイされているのかを正しく把握することができます。

これらは、JIRA, Stash, Bamboo それぞれの間にアプリケーションリンクを設定するだけで得られる効果です。

 

講演やデモ承ります


 

皆さんの現場によって有益であると思っていただけたならば、皆さんの現場 (少人数ならアトラシアンのオフィスでも大丈夫) で、講演やデモも承ります。エバンジェリストですので、営業活動に伴う製品の機能紹介やセールス活動自体はしませんが、皆さんの現場が「前を向ける」、「一歩踏み出せる」といった状況にマッチするようでしたら、お気軽にお声がけください。連絡方法はどのような形でもかまいません。メールでもTwitter でも、Facebook でも歓迎です。最近は、Facebook メッセージでのご依頼が多いですね。

 

ながさわ

【 この記事は、3201人に読まれています】

4 thoughts on “Atlassian Git Essentials を発表 (スクリーンショットと動画あり)

Comments are closed.