Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Encouraging of automation for building better apps

Encouraging of automation for building better apps

アプリ開発の効率化は、よいアプリを作るためには必要不可欠なものです。スマートフォンアプリ開発全盛の今日、世界には自動化をサポートする数多くのサービスが存在します。このセッションでは、アプリ品質を高めるための開発の効率化における考え方と、明日からできる改善についてお話しします。

このスライドは、2015/06/23に「ニフティクラウドmobile backend アプリ開発セミナー」にて発表しました。
http://ncmb.connpass.com/event/16024/

Yuki Fujisaki

June 23, 2015
Tweet

More Decks by Yuki Fujisaki

Other Decks in Technology

Transcript

  1. ͜͏͍͏ͷਏ͍ ʮ৽͍͠όʔδϣϯͰ͖ͨΑʯ
 ʮ͋ɺ͜ͷ୺຤ʹΠϯετʔϧͯ͠ʂʯ ໿෼ճ ෆ۩߹ى͖͔ͨΒ୺຤͓࣋ͪ͠·ͨ͠ʔ
 ˠϩάͷճऩ ໿෼ճ طʹվमࡁΈͷෆ۩߹Λใࠂ͞ΕΔ
 ˠώΞϦϯάʴΞοϓσʔτ ໿෼ճ

    ʮͳΜ͔ڧ੍ऴྃͨ͠ʂʯใࠂରԠ ໿෼ճ ࢼͯ͠΋Β͏ਓΛ୳ͯ͠࿈Ε͖ͯͯɺ
 Πϯετʔϧ͓ͯ͠౉͢͠Δ ໿෼ճ ͦΕͧΕͷίϛϡχέʔγϣϯ଴ͪ࣌ؒɺε Πονϯάίετ ໿ʙ෼ճ http://alpha.mixi.co.jp/entry/2013/11649/
  2. Ͱ΋ΞϓϦ։ൃͩͱ ։ൃ
 ࡞Δ Ϗϧυˍ
 ΞʔΧΠϒ Ͳ͔͜ʹஔ͘
 PSϝʔϧૹ৴ ࣮ػʹೖΕΔ ͓ख఻͍ Πϯετʔϧ

    Ϣʔβʔ
 ݟΔ ϩάˍ
 ϑΟʔυόοΫ ϩάཉ͍͠
 ୺຤आΓΔ ϩά΋͏
 ྲྀΕͯΔ
  3. 1. શମͷݟ͑ΔԽ 2. ϏϧυࣗಈԽ 3. ςετࣗಈԽ 4. σϓϩΠࣗಈԽ ։ൃ
 ࡞Δ

    Ϣʔβʔ
 ݟΔ ϩάˍ
 ϑΟʔυόοΫ উखʹճΔ
 Α͏ʹ͢Δ
  4. circle.yml ͪΐͬͱॻ͚ͩ͘ test: override: - ./gradlew assembleDebug - cp -r

    project-name/build/outputs $CIRCLE_ARTIFACTS Androidͷ৔߹
  5. ͜Ε΋ circle.yml ͪΐͬͱॻ͘ test: pre: - emulator -avd circleci-android22 -no-audio

    -no-window: background: true parallel: true - circle-android wait-for-boot override: - ./gradlew connectedAndroidTest - cp -r my-project/build/outputs/androidTest-results/* $CIRCLE_TEST_REPORTS - cp -r project-name/build/outputs $CIRCLE_ARTIFACTS Androidͷ৔߹
  6. ϏϧυεΫϦϓτʹ buildscript { dependencies { classpath 'com.deploygate:gradle:0.6.2' } } apply

    plugin: 'deploygate' circle.ymlʹ deployment: deploygate: branch: /.+/ commands: - ./gradlew uploadDeployGate
  7. circle.ymlʹ dependencies: pre: - gem install shenzhen deployment: deploygate: branch:

    /.+/ commands: - ./ipa distribute:deploygate -a … -u …
  8. $ git push origin branch ςετͱ
 σϓϩΠࣗಈԽ • ίʔυॻ͍ͯ
 ίϛοτ͢Δ͚ͩ


    ຊ࣭ͷ։ൃʹूத • ҙࣝͤͣͱ΋඼࣭Λ
 ҡ࣋Ͱ͖Δ • ͱʹ͔͘࡞ͬͯɺ
 ݟͯɺ௚͕͢ؾܰʹ
  9. 1ਓͳΒঘߋ͜Μͳ͜ͱ࣌ؒ࢖ͬͯΒΕͳ͍ ʮ৽͍͠όʔδϣϯͰ͖ͨΑʯ
 ʮ͋ɺ͜ͷ୺຤ʹΠϯετʔϧͯ͠ʂʯ ໿෼ճ ෆ۩߹ى͖͔ͨΒ୺຤͓࣋ͪ͠·ͨ͠ʔ
 ˠϩάͷճऩ ໿෼ճ طʹվमࡁΈͷෆ۩߹Λใࠂ͞ΕΔ
 ˠώΞϦϯάʴΞοϓσʔτ ໿෼ճ

    ʮͳΜ͔ڧ੍ऴྃͨ͠ʂʯใࠂରԠ ໿෼ճ ࢼͯ͠΋Β͏ਓΛ୳ͯ͠࿈Ε͖ͯͯɺ
 Πϯετʔϧ͓ͯ͠౉͢͠Δ ໿෼ճ ͦΕͧΕͷίϛϡχέʔγϣϯ଴ͪ࣌ؒɺε Πονϯάίετ ໿ʙ෼ճ http://alpha.mixi.co.jp/entry/2013/11649/
  10. • ৽͍ٕ͠ज़Λੵۃ׆༻ɺ
 ͱ͍͏ϒϥϯσΟϯά • ৽͍͠ਓ͕νʔϜʹೖͬͯ
 ͙͢࢓ࣄͰ͖Δ • ੈքͷ։ൃऀͱͷ
 ڞ௨ݴޠ -

    Pull Reqͱ͔ • ΋ͬͱศརʹ͍ͨ͠ɺ
 վળ͠Α͏ͱ͍͏ϚΠϯυ ͓·͚ʹ
 ͍ͭͯ͘Δ΋ͷ
  11. ͍͍ΞϓϦΛ࡞ΔͨΊͷࣗಈԽʹ͍ͭͯ • ԿނࣗಈԽ͢Δͷ͔ • ؾ߹ͱࠜੑʹཔΒͣʹ։ൃʹूத͍ͯ͠Δ͚ͩͰ
 ͍͍ΞϓϦ͕૑ΕΔจԽΛ૑Δ • ࣮ફͯ͠ΈΑ͏ • ͢΂ͯΛ̍ΧॴͷλΠϜϥΠϯͰݟ͑ΔΑ͏ʹ͠Α͏

    • GitHub࢖ͬͯΔͳΒ1࣌ؒͰϏϧυ/ςετ/σϓϩΠΛࣗಈԽ • ಘΒΕΔ΋ͷ • ແବͳ͘ɺWeb։ൃͷΑ͏ͳ଎͞Ͱɺ͍͍ΞϓϦ͔͠࡞Εͳ͍؀ڥ • Ұาઌ΁ • ਓͷίετ͸ߴ͍ɺ܁Γฦ͠Λͳͦ͘͏ɺ֎෦αʔϏεΛ׆༻͠Α͏