Skip to content

Instantly share code, notes, and snippets.

@henteko
Last active August 29, 2015 14:01
Show Gist options
  • Save henteko/032a011727ddfc998be9 to your computer and use it in GitHub Desktop.
Save henteko/032a011727ddfc998be9 to your computer and use it in GitHub Desktop.
Bakusoku Iterations Tokyo 1 メモ

Bakusoku Iterations Tokyo 1

DeployGateについて

  • gfxさんの発言がきっかけでこのイベントをやった
  • deploygate勉強会をやりたい!やろう!

deploygateの生い立ち

  • deploygateを作る前
    • mixiの公式アプリを作ってた
    • 一人で開発してて色々めんどくさかった
      • jenkinsとか使ってもっと簡単にしてた
      • Webより高速に回せない…つらい…
        • そこらへんをアプリでも改善したい
        • それを解決する為にdeploygateを作った!
        • いつでも最新のアプリを試せる!
      • まだまだ解決出来ていないところがたくさん
        • もっといいサービスにして行きたい
      • コミュニティを作りたい
        • どういうように開発をしているのかを交流したい
        • 色々イベントやっていくよ
        • オンラインでも話せる場所を作った
      • エンジニアとQAさんその他の摩擦を無くしたい!!!!

開発を加速させるRetty式チーム開発術 Reloaded

Retty株式会社 櫻井 洋一郎

自己紹介

  • @saku2saku
  • iOSエンジニア
  • 個人でも色々アプリを開発したりWebサービスを作ってる
  • 有料ランキング1位を獲得したことも!

What is Retty?

  • 信頼出来る人がお店を紹介してくれる
  • 最近プレスリリースが出た

アプリの構造

  • WebViewで表示しているところが結構ある
    • ネイティブだとiOSエンジニアしか作れない…
    • htmlやcssなどなら書ける人は結構居るから
    • ネイティブとWebViewを組み合わせて作っている
  • htmlなどが書ける人と分担して書いている
  • リモートのWebViewとローカルのWebViewを組み合わせている
  • なぜhtmlをローカルに入れるの?
    • 表示速度が遅いから…
    • 白い画面が出てしまう(リモートだと)
    • ローカルだと早い!
  • Custom URL Schemeを使っている
    • jsからネイティブのコードを呼ぶなどをしている
    • こんな感じに書けば画面遷移が出来るみたいにすれば、htmlだけの人でも書ける

開発環境

  • サーバーの環境
    • AWSを使っている
      • AWSすごい!
    • 社内にはサーバーは1台だけ(mac mini)
  • AWS
    • 本番,ステージング,開発環境の3つをEC2で用意している
    • 本番とステージングは同じドメインで管理している
      • 社内のwifiでDNSの設定を切り替えている
      • 社外に居るときはVPNでやる
    • 1人つき1台(EC2)の開発環境を用意している
      • jenkins + testflightを使っている(iOS)
    • Androidではdeploygateを使っているよ!
      • testflightとdeploygateを使い分けるのめんどくさいから以降するかも
    • 5分に1回deployを行っている

最近の変化

  • サーバーのバージョンを可視化
    • どのサーバーにどの差分を入れているかが見れる(git)
  • AWSのサービスを使っている
  • AWS使っていれば簡単にipアドレスの切り替え出来るし簡単にdeployが出来るよ!

まとめ

  • Rettyでは色々開発の工夫をしている
    • iOSでのWebViewなど
  • deployを簡単に早く安全に出来るように工夫もしている

DeployGateを使ったiOSアプリのβテスト

株式会社ミクシィ DeployGate 林 和弘

自己紹介

deploygate?

  • アプリをWebみたいに簡単に配布出来る
  • deploygate for iOSを作ったよ!!!
  • 5月にiOS SDKをリリースした
    • アプリの更新通知をアプリ内で出来る
    • ログをdeploygateに送れるようになった
    • cocoapodsでダウンロード出来る!便利すぎ!!
    • 組み込み方はdeploygateのドキュメントに書いてあるよ
    • クラッシュレポート便利
  • XCodeからビルドするのめんどい
    • コマンドでやりたいよ!!
    • Shenzhenはdeploygateに対応してるよ!!
      • 対応した人神だな…
  • deploygateをサポートしてくれているツールがどんどん増えている!嬉しい!

まとめ

  • deploygateでiOSアプリの開発をしてね!!!
  • Androidだけじゃないからね!!!!

スマホアプリ開発のワークフロー

株式会社ミクシィ ホームG 鈴木康平

自己紹介

  • 火星に移住する予定
    • Mars Oneで選考に進んでいる
    • ネタじゃないぞ!!!!

お仕事

  • mixiのスマートフォンアプリの開発

チーム構成

  • プロダクトオーナー1,プランナー1,エンジニア8,などなど…

開発ワークフロー

  • スプリント計画
    • プロダクトバックログの選択
    • スプリントバックログの作成
  • デザイン/開発
    • 開発に先攻してデザインは動く
      • 手戻りを防ぐため
    • デザインが出来て開発を開始する
    • デザインはエンジニアと相談しながら作るtukurus
    • ただデザイナーさんはiPhoneユーザーなのでAndroidのUI/UXは分からない…
  • テスト
    • githubのhookでjenkinsのテストを走らせる
    • pull-reqのあそこに出るやつ
    • テスト落ちたら怖い…
  • コードレビュー
    • githubのissueなどで行われる
    • LGTM画像最高!!!!
  • QA
    • QAに関するガイドラインがあるよ!
    • deploygateを使ってテストを行っている
  • スプリントレビュー
    • 朝会で毎日行っている
    • こんなん出来たよ、みたいな
    • リリース予定のバイナリは常にdeploygateで配信している
  • ドッグフーディング/リリース
    • deploygateでアプリを使ってもらう(社内)
    • Crashlytics
      • クラッシュのログとか監視する
  • スプリントの振り返り
    • スプリントバックログをどこまで消費できたか
    • 次はどこまでやるか?
    • KPTZ

DeployGate最高!!!!!!!!!!!!!!!!!!!!!!!!!

僕たちがGHEを手に入れて変わったこと

  • 導入前
    • 企画
      • jira + excel + パワポ
      • うわああああああああああ
  • 導入後
    • 企画
      • GHEのissueで
    • 全部GHEでやってるよ!!最高!!!!
  • まだまだ改善の余地あるよね

ホームGではiOSエンジニアを募集中!!!!!よろしくね!!!!!

Mobile First Development at COOKPAD

クックパッド株式会社 藤 吾郎

自己紹介

  • @gfx
  • iOS/Android
  • モバイルアプリの開発効率を上げる
  • githubのアクティビティ率で世界100位台

クックパッド

  • iOS/Androidでアプリを出している
  • iOS/AndroidでUIは微妙に違っている
  • 全部ネイティブアプリ
  • その他
    • ダイエットアプリ
    • 検索に特化したアプリ
    • 他にも色々出したい

Mobile Firs Development

  • ユーザーファーストな開発
    • なぜ開発を高速化するのか?
      • ユーザーに対してよりいいものを提供したい
  • 開発体制
    • iOS: 3人
    • Android: 4~6人
    • その他: 基本1人
  • モバイルファースト室: コアチーム数人
  • Android
    • AndroidStudio + Gradle
  • iOS
    • XCode
    • AppCode
      • 結構便利
  • cookpadのwebは1日に数回やっている
    • 頻繁にデプロイして問題があったらロールバック
  • モバイルアプリはそうはいかないよね
    • 慎重にやってる
    • リリースごとの開発期間は2~3週間
    • QA期間は3日間
    • プルリクベースの開発
  • GHE使っている
    • masterに入れるコードはプルリクでレビュー必須
    • UIに関わる変更はデザイナーによるレビューが必須
  • モバイルアプリもWebと同様にgithub flowで運用してた
  • QA期間がなかったが、やはり設けた
    • コードフリーズ
  • git-flowみたいな感じで運用してる
    • developブランチはなしの、少し簡易な形で運用している
  • 課題
    • iOS/Androidチーム外の協調が難しい
  • jenkinsで自動化している
    • iOSはtestflight
      • AutoFlightnによる自動配布を行っている
      • githubからのhook通知でAutoFlightProxyが受け取る
      • AutoFlightがjenkinsをキック
      • jenkinsがブルドしててtestflightにアップロード
    • Androidはdeploygate
      • masterにコミットがあったらjenkinsをキック
        • ビルド&テスト
    • iOS/Android共通
      • masterにあるコミットを自動配布
      • 開発版にはアイコンを変えている
      • 開発版も本番サーバーを向いている
      • 日常的に社員も使える用に
  • ドッグフーディングはむずかしい
    • 開発版を最新に保つのはめんどくさい
    • 開発版固有の問題がどうしても存在する
      • 1日に何回も更新されても…
        • (deploygateの中の人の反論)deploygateのAndroid版には配布ページ機能があるよ!!!!!!!!!!!
    • 使ってもらってフィードバックは難しい
      • スクリーンキャプチャを社内チャットなどに簡単にアップロードする仕組みとかほしいかも?
    • 実験的機能をユーザーに使ってもらいたい
      • Playのβ機能とか?
      • Chrome Canaryみたいに別アプリにする?
      • deploygateでここら辺サポート出来たらいいのに…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment