Create a gist now

Instantly share code, notes, and snippets.

Embed
What would you like to do?

開発ツールを使ってリモート開発

自己紹介

仕事

  • numa08さんの前職の同期。TakkuMattsuさんの同僚。
    • 突然始まる「面白いこと言います」を優しく聞いてあげる係
    • numa08さんが広げまくったツールやサーバーの管理人
  • AndroidよりiOS案件多め
  • 自社作業がメインなので雑用係になりつつある

最近気になってるもの

  • Mithril.js
    • ミニマルなフロントエンドFW。SPA作りたい。
  • golang
    • python並みのシンプルさ
  • AWS
    • API Gateway + Lambda 楽しい
    • DynamoDB の上手い使い方知りたい

今日話すこと

  • 「運用面」にフォーカスをした意見交換
    • 今の開発環境(リモート)
    • うまくいっていること
    • やってたけどやめたこと
    • 改善したいこと

今の開発環境

3チーム体制

  • サービサー(客先)
    • フロント, テスター, 分析, 企画...
  • サーバー(客先)
    • WebAPIサーバー, Web管理画面
  • モバイルアプリ(新宿)
    • iOSアプリ, Androidアプリ

使っているツール

  • GitLab
  • Redmine
  • Jenkins
    • スレーブは客先、自社の2つ
  • DeployGate
  • Slack

全体像

hoge

うまくいっていると感じてること

ブランチ戦略

  • Githubフローを元に柔軟に対応
    • master: リリース版
    • develop: 最新の動くもの
      • feature/Hoge: 機能開発ブランチ
      • test-release/10.x.x: 結合試験用 => 開発アプリ配信
        • hotfix/***: 結合/受入バグ対応用
      • release/10.x.x: 受入試験用 => 本番アプリ配信
  • developを介して下位バージョン間の修正を最新に取り込む

テストアプリの配信

  • 開発アプリ, 本番アプリでパッケージ名を分けている
    • jp.co.hoge, jp.co.hoge.test
    • APIのアクセス先が違う
  • アクセス先変更のための再インストール不要
    • 開発環境
    • ステージング環境(DNS設定)
    • 本番環境
  • Deploygateで違うアプリとして認識されるので探しやすい

リモートでも大きな不便はない

  • JenkinsやDeployGate, Slackのおかげ
    • 可能な限り早めのレスが必要
    • テスターやサーバー実装者とも直接やりとり
  • 顧客による部分が大きい
    • 仕様に困っても即レスしてもらえる
    • アプリ専任チームがいないとつらいと思う

やってたけどやめたこと

テスト

  • アプリ側にロジックが少なく, APIからの情報表示がメイン
  • 月一リリースで製造のみでもかっつかつ
  • サービサー側に専任のテスターがいる

Slackと開発ツールの連携

  • 自動だと更新頻度が多すぎて結局見ない
  • 全体グループで個人宛のNotifyを飛ばす
    • こういうチケット切ったのでお願いします
    • 大事なチケットを追える
    • みんなが見てるのでいい感じにプレッシャーを与えられる(笑)

改善したいこと

本番リリース直後に毎回違うURLを設定したバイナリが必要

  • WebページのテストURLが毎回違う
  • 今は都度ビルドしてる

GoogleAnalytics試験用のバイナリをDeploygate配信できない

  • 反映されるまでタイムラグがある
  • 試験中に別端末から飛んでると試験ができない
  • いまは試験版配信のタイミングで都度ビルドしてる

テスト書ける体制作り

  • コードを書けば動かせるようにはなっている
  • 時間がない中でどうテストコードを書いていくか
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment