Huboard を使ってみた

Huboard って?

GitHub issues をカンバン的に操作できるツール. GitHub issues だけでタスク管理しよう, とか, Pivotal Tracker, Redmine, Trello, etc... を使ったけど上手く噛み合わなかった, というひと向け?

感想

使用目的

  • GitHub issue をカンバン的に操作

良かった点

  • GitHub issue と密結合し, カンバン的に操作できるのはとても快適

不満点

  • Huboard 上からは issues のチェックボックス操作できない
    • 投稿したコメントの編集もできない
    • Milestone の新規作成もできない
  • commit 履歴が見られない

使い方 (例)

  1. Huboard の Backlog にタスクが貯まる
    • ストーリーボード -> Backlog
    • bag -> backlog
  2. 作業予定のタスクを選別
    • Backlog から作業予定のタスクを Ready に移動
  3. 作業開始
    • Ready から Working
    • 作業ブランチ切って空コミット
    • hub コマンドで hub pull-request -i ${作業対象の issues 番号} して結びつける
    • 作業
  4. レビュー
    • Working から Done
    • 適当なラベル付けてレビュー担当者をアサイン
    • LGTM
  5. リリース
    • merge して issue 閉じる

結論

見送り. commit 履歴見られないなどつらい. 結局 GitHub issues も見なくてはならず, 面倒. 完全にラッパーとして使える感じなら嬉しい. OSS なのでそのへん自分で PR 出せやみたいな感じある.

Reference

AWS::EC2 Ubuntu で dokku を動かす方法

dokku とは

Heroku の簡易版. golang で書かれている.

AWSインスタンスを作る際の諸注意

!!!Ubuntu は 13.04 を使うこと!!! (たとえばコレとか)

Chef

ubuntuubuntu ユーザーでやるべし (癖で root ユーザーでやったらコケた) 結局 Chef は使わなかった

dokku のインストール

安定版をインストールする. まずサーバーに入る.

ssh -i ~/.ssh/hogehoge.pem ubuntu@$54.193.28.49

dokku をインストールする

wget -qO- https://raw.github.com/progrium/dokku/v0.2.1/bootstrap.sh | sudo DOKKU_TAG=v0.2.1 bash

VHOST に URL を書く

echo "ec2-54-199-233-72.ap-northeast-1.compute.amazonaws.com" > /home/dokku/VHOST

ここで permission error となったので, とりあえず sudo vi /home/dokku/VHOST に直接書いた.

クライアント側での操作

認証用の鍵を投げる

cat ~/.ssh/id_rsa.github.com.sqrtxx.pub | ssh -i ~/.ssh/hogehoge.pem ubuntu@54.193.28.49 "sudo sshcommand acl-add dokku dokku"

.ssh/config に追加

Host test-dokku
     User   dokku
     Port   22
     HostName   ${IP アドレス}
     IdentityFile   ~/.ssh/id_rsa.github.com.sqrtxx
     TCPKeepAlive   yes
     IdentitiesOnly yes

テスト

ssh -T dokku@test-dokku

Rails で使う

git remote add mini-heroku dokku@test-dokku:${アプリケーション名}
git push mini-heroku master

References

WIP PR ワークフローを実践する

WIP PR ワークフローとは

通常の開発では future ブランチを切り, commit を重ねていき, 最後に push し PR (pull request) する流れがある. しかしこれだと他の開発者に作業の状態がわかりにくい.

WIP PR では PR に WIP (work in progress, 作業途中の状態) であることを明示し, [WIP] ${PR 名} で PR を出しておく. その後は定期的に push しておき, PR ページを見れば作業状態が一目で分かるようにする.

利点

  • 他の開発者の作業状態が確認しやすい
  • 大きい実装のとき, 実装中にレビューリクエストなどできる

実際の方法

しかし, GitHub では commit がない状態で PR を送ることはできない. commit を一度しないと PR できないというのは WIP PR ワークフローを実践する上で支障となる. そこで, この問題を解決するのが 空の commit である.

git checkout -b ${ブランチ名}

いつものようにブランチを切ったら, 以下のように空の commit を行う.

git commit --allow-empty -m "Create PR"
git push origin ${ブランチ名}

これですぐに PR が行える状態となった. hub を入れている場合以下で一気に PR まで出来る.

git pull-request -m "[WIP] ${PR 名}" -b ${送り先のブランチ}

git checkout -b sample-pr
git commit --allow-empty -m "Create PR"
git push origin sample-pr
git pull-request -m "[WIP] Create Sample PR" -b master

WIP PR について識者コメント

終わってから pull request ではなく、work in progress (途中の状態) で pull request を飛ばしてしまって、それによってそのタスク に commit が重なっていく様子を可視化する。全員がこのスタイルでの開発をさせて途中経過を見える化する

https://twitter.com/naoya_ito/status/446844387465502720

References

アプリのキャプチャを高速で手に入れる方法

既存の問題

  • 自分でインストールしてキャプチャは時間がかかる.
  • ストアページにあるスクリーンショットは実際の画面でない場合がある.

問題の解決

Google Image Search で解像度と期間指定してキャプチャ探す.

方法

  1. アプリ名で画像検索
  2. 任意のスマホの解像度を指定する
  3. 期間を指定する
    • だいたい 3 ヶ月以内とか. 最近リリースがあったものは直近を指定する.

GitHub Pages の作り方

GitHub Pages とは

GitHub が提供するホスティングサービス. GitHubリポジトリにファイルを置くだけで簡単に配信できる.

流れ

  1. リポジトリを作成する
  2. gh-pages ブランチを作成する
  3. 10 分程度経つとできてる!

リポジトリを作成する

https://github.com/new からリポジトリを作成する. このとき, リポジトリの名前がサイト URL に反映され, 以下のようになる.

http://${アカウント名}.github.io/${リポジトリ名}/

なお, ${アカウント名}.github.io という名前でリポジトリを作成すると,

http://${アカウント名}.github.io/

という URL になる.

ファイルを git で管理する

では, 早速リポジトリに push していく. まずローカルにディレクトリを作成する. 今回は sqrtxx.github.io リポジトリにアップしていく.

mkdir sqrtxx.github.io
cd sqrtxx.github.io

とりあえず index.html に一文だけ表示させてみる.

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="utf-8">
    <title>GitHub Pages</title>
  </head>
  <body>
    <h1>Welcome to GitHub Pages!</h1>
  </body>
</html>

git で管理する.

git init
git config user.name '${ユーザー名}'
git config user.email '${E-mail Address}'
git remote add origin git@github.com:sqrtxx/sqrtxx.github.io
git add index.html
git commit -m 'Add index.html'
git push origin master

${アカウント名}.github.io は master ブランチを参照するため, gh-pages ブランチは不要である.

gh-pages ブランチを作成する

こちらは ${アカウント名}.github.io 以外での操作である. gh-pages ブランチを作成する.

git checkout -b gh-pages
git push origin gh-pages

確認する

(10 分程度待つ).

http://sqrtxx.github.io

congratulation!

Reference