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

継続的な開発スタイル「AbemaTVのiOSアプリを週一でリリースしている話」

CyberAgent
February 22, 2019

 継続的な開発スタイル「AbemaTVのiOSアプリを週一でリリースしている話」

サイバーエージェントの技術者(エンジニア・クリエイター)向けカンファレンス『CA BASE CAMP 2019』
継続的な開発スタイル「AbemaTVのiOSアプリを週一でリリースしている話」
波戸 勇二

CyberAgent

February 22, 2019
Tweet

More Decks by CyberAgent

Other Decks in Technology

Transcript

  1. ։ൃମ੍ ໿80ਓ Android iOS Web New Device Streaming Client Developer

    Infrastructure API Content Engineering Content Delivery Data Management SRE Direction Design QA Board CTO VPoE board / Tech Lead Tech Lead
  2. ։ൃମ੍ ໿80ਓ Android iOS Web New Device Streaming Client Developer

    Infrastructure API Content Engineering Content Delivery Data Management SRE Direction Design QA Board CTO VPoE board / Tech Lead Tech Lead
  3. ։ൃମ੍ • iPhone • iPad • Apple TV ͦͷଞ Google

    Cast ΍ AirPlay ࠶ੜ iOS Team ։ൃσόΠε
  4. ։ൃମ੍ ։ൃεϐʔυͱ඼࣭ͷ௿Լ • Ϛωδϝϯτίετ૿ • ίϛϡχέʔγϣϯίετ૿ • ίϯϑϦΫτϦεΫ • ίʔυ඼࣭ͷ͹Β͖ͭ

    • ੹຿ͷूத΍૿Ճ • υΩϡϝϯτෆඋ / ଐਓԽ • औΓѻ͏ίʔυൣғͷ޿͞ • εΩϧ΍ܦݧʹґଘ ݪҼ
  5. ίʔυϕʔε • ios ‥‥ iOSΞϓϦ • tvos ‥‥ tvOSΞϓϦ •

    api ‥‥ APIϞδϡʔϧ • protobuf-swift ‥‥ .protoΛ.swiftʹม׵ͨ͠΋ͷ • cmdshelf-ios ‥‥ scripts • etc ‥‥ mock, tool, sample Repositories
  6. ։ൃϑϩʔ QA 1िؒ 1िؒ QA QA ਃ੥ ਃ੥ ਃ੥ ਃ੥

    QA ։ൃ ։ൃ ։ൃ چ։ൃϑϩʔ ௕͍։ൃ
  7. ։ൃϑϩʔ ৽։ൃϑϩʔ branchઓུ master feature 1िؒਃ੥ ։ൃ no QA ։ൃ

    QA ϦϦʔεςετ 2"͕ෆཁͳ΋ͷ Ϟσϧ૚΍ϩδοΫͷΈͷมߋͰςετͰ୲อͰ͖ ͍ͯΔ 2"͕ඞཁͳ΋ͷ 6*69෦෼ ୺຤04όϦΤʔγϣϯςετ͕ඞཁ
  8. ։ൃϑϩʔ ৽։ൃϑϩʔ branchઓུ master feature 1िؒਃ੥ ։ൃ no QA ։ൃ

    QA ։ൃ with Feature Flag ඇಉظQA ϦϦʔεςετ Feature Flag ON
  9. ։ൃϑϩʔ ৽։ൃϑϩʔ branchઓུ master feature 1िؒਃ੥ ։ൃ no QA ։ൃ

    QA ։ൃ with Feature Flag ඇಉظQA ϦϦʔεςετ Feature Flag ON 'FBUVSF'MBHΛ࢖ͬͨ։ൃ͸ɺখ͍͞୯Ґ ͰίʔυϨϏϡʔͯ͠NBTUFSʹNFSHF͢Δ ͳͲɺॊೈͳ։ൃͱεϜʔζͳNBTUFSϒϥ ϯνͷਐߦ͕๬ΊΔΑ͏ʹͳΔ
  10. ։ൃϑϩʔ • ݄༵೔ ϦϦʔεɺTestFlightਃ੥ • Ր༵೔ • ਫ༵೔ masterϒϥϯνΛϏϧυɺ࣍ճ෼PJܭըmtg •

    ໦༵೔ ϦϦʔεςετɺ࣍ճ෼શମܭըmtg • ༵ۚ೔ ਃ੥ ৽։ൃϑϩʔ εέδϡʔϧ
  11. ։ൃϑϩʔ ৽։ൃϑϩʔ εέδϡʔϧ ݄ 19࣌ ਃ੥ Ր ਫ ໦ ۚ

    19࣌ TestFlightਃ੥ 19࣌ masterϏϧυ TestFlight഑৴ ϦϦʔεςετ QA ։ൃ ϦϦʔε
  12. ։ൃϑϩʔ ৽։ൃϑϩʔ εέδϡʔϧ ݄ 19࣌ ਃ੥ Ր ਫ ໦ ۚ

    19࣌ TestFlightਃ੥ ϦϦʔεςετ ࣍ճ෼ PJ͝ͱܭըmtg ࣍ճ෼ શମܭըmtg QA ։ൃ ϦϦʔε 19࣌ masterϏϧυ TestFlight഑৴
  13. ։ൃϑϩʔ ৽։ൃϑϩʔ εέδϡʔϧ bitrise GitHub App Store Connect TestFlight Crashlytics

    Tester Designer Others Developer hook delivery pull request merge scheduler test
  14. ։ൃϑϩʔ ৽։ൃϑϩʔ εέδϡʔϧ bitrise GitHub App Store Connect TestFlight Crashlytics

    Tester Designer Others Developer delivery pull request merge scheduler test hook
  15. ։ൃϑϩʔ ৽։ൃϑϩʔ εέδϡʔϧ ݄ Ր ਫ ໦ ۚ ϦϦʔεςετ ࣍ճ෼

    PJ͝ͱܭըmtg ࣍ճ෼ શମܭըmtg QA ։ൃ ϦϦʔε 19࣌ TestFlightਃ੥ 19࣌ ਃ੥ ࣗಈԽ 19࣌ masterϏϧυ TestFlight഑৴
  16. ࠓޙͷऔΓ૊Έ • storyboard / xibΛ࢖ΘͣίʔυͰϨΠΞ΢τ • ίϯϑϦΫτϦεΫͷܰݮ • UIίʔυϨϏϡʔͷ޲্ •

    ࠶ར༻ੑͷ޲্ ※ σΟϝϦοτ΋ଟʑ͋ΔͨΊ࣮ݧతʹऔΓ૊Έ ίʔυϨΠΞ΢τ