--force は有害だという考え; git の --force-with-lease を理解する

Git の push --force は有害です。何故ならローカルの内容を無条件にリモートレポジトリを上書きしてしまい、チームメンバーがその間にプッシュしていた変更を上書きてしまうからです。しかし、これには改善策があります。強制プッシュがどうしても必要ではあるけれど、他人の作業を上書きしないようにしたいときは --force-with-lease というオプションを利用します。 Git

続きを読む »

アトラシアンにおける スタンドアップ の方法

本稿はアジャイルの作法に関するシリーズの最終記事「アトラシアンにおける スタンドアップ の方法」です。アトラシアンにおけるスプリント計画、スプリントレビューおよびスプリントのふりかえりもご覧ください。 スタンドアップ は、アジャイル開発の基本を構成するもののひとつですが、これには誤解がつきまとうことがよくあります。率直に言うと、スタンドアップだけではチームをアジャイルにすることはできないのです。また、スタンドアップはエゴを押し通す場ではないし、作業内容の正しさを主張する場でもありません。そして計画作りの場でもありません。それはスプリント計画の役割です。さらに言えば、ブロッカーの発生を伝える唯一の場でもないのです。もしブロッカーにより作業が進まないならば、助言を求めることをためらってはなりません! 本稿では、ブロッカーを効率的に管理する方法に加え、アトラシアンにおいて私たちが活用している様々なヒントとコツについてお話ししたいと思います。私たちはお客様のスタンドアップが

続きを読む »

React.js を用いた HipChat の再構築

要約 : 私たちは、React.js と Flux、それに他のいくつかのライブラリを用いて HipChat の Web クライアントを根本的に再構築し、素晴らしい結果を得ました! 是非試してみませんか? HipChat がアトラシアンに加わったときのクライアントは、Web、Adobe Air (Windows、OS X、Linux)、iOS、そして Android アプリの 4 つでした。HipChat チームが最初に掲げた目標のひとつが、Air クライアントを

続きを読む »

アトラシアンにおける スプリントレビュー の方法

本稿はアジャイルの作法に関するシリーズ第 3 弾「アトラシアンにおける スプリントレビュー の方法」です。アトラシアンにおけるスプリント計画 とスプリントのふりかえりもご覧ください。 アトラシアンのオフィスでは、金曜日の午後遅い時間になると拍手喝采の音があちこちから聞こえてくることがよくあります。私たちは一生懸命に働き、それを楽しみ、そして

続きを読む »

Docker machine スクリーンキャスト: アトラシアン製品をどこででもデプロイできる!

まだ開発の初期段階にあるとはいえ、Docker Machine はとても強力なツールであり、Docker エコシステムにおいてとても魅力的な 3 つの新しいもののうちの 1 つです。その他の 2 つは compose と swarm です。Docker machine は何をするのでしょうか? ローカルマシン上やクラウドプロバイダー上で Docker ホストを作成したり管理したりすることができます。 エンタープライズ向け Git リポジトリ管理製品

続きを読む »

Stash の Docker 対応

Docker は世界中のソフトウェア開発チームに採用され「急速に成長中」です。 アトラシアンは当初から Docker の可能性を高く評価してきました。実際、初期にはコンテナでの Java の起動方法に関する記事を出し、Docker コンテナを使用してアトラシアンのクラウド環境でアプリケーションをデプロイするアトラシアン内部のセルフサービスモデルを作り出しました。また、アトラシアン製品をコンテナ化する実験も行いました

続きを読む »

さらに優れた プルリクエスト

Git を使っているならば、恐らく プルリクエスト を使用していることでしょう。プルリクエストは、DVCS の黎明期から、何かしらの形で存在してきました。Bitbucket と GitHub がオシャレな Web UI を構築する以前、プルリクエストと言えば、自分のリポを少し変更してほしいという友人のアリスからのメールによるプルリクエストを指したかもしれません。そうして、問題なさそうであればいくつかのコマンドを実行して、master

続きを読む »

アトラシアンにおける スプリント計画 の方法

本稿はアジャイルの作法に関するシリーズ第 2 弾「アトラシアンにおける スプリント計画 の方法」です。第 1 弾のアトラシアンにおけるスプリントの「ふりかえり」方法もご覧ください! 毎年、新年になると新たな目的意識が芽生え、ソフトウェア界では、より優れたソフトウェアを世に出すという誓いが立てられます。アトラシアンでは、新年において、スプリント計画のアジャイル作法をとても頼りにしています。実行することを定め直し、予期せぬ展開を最小限にとどめ、全体的なコード品質の向上を確実にするためです。私たちが見出した最も役立つスプリント計画の

続きを読む »

git merge-distinct: octopus-merge で複数ブランチを効率的に処理する

git merge-distinct とは、git の octopus-merge を利用することで、変更点が互いに競合しない複数のブランチを単一の HEAD にマージできる、ちょっとしたツールです。なぜ、このようなものが必要なのでしょうか?それは、単一のフィーチャーブランチにおける独立した開発が便利である一方、テストやステージングサーバー向けデプロイを向けに複数ブランチをまとめることが有益な場合も多いためです。 論理的あるいは文字通りの競合が起こり得るため、この戦略が全てのブランチで利用できるわけではありません。しかし、これが非常に便利なユースケースがいくつか存在します。現に、あなたは今それを見ているのです。 私たちのデベロッパーブログ アトラシアンのデベロッパーブログ

続きを読む »

アトラシアンにおける ふりかえり の方法

遂に、師走となりました。1 年を振り返る時期がやってきましたね!年末は、その年の出来事を追想する時です。私たちのチームでは、各メンバーが次のようなことを考えます。 上手くいったことは何か? 自分は、何を達成したか? 自分のどのような点を更に改善していきたいか? 今年できなかったことで、来年やりたいことは何か? そう、12 月は 1 年の出来事を追想する

続きを読む »