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

コンセプトは「機械に人間が合わせる」クックパッドが実践する新しいリリースフローとは / @IT seminar 2018 12 14

コンセプトは「機械に人間が合わせる」クックパッドが実践する新しいリリースフローとは / @IT seminar 2018 12 14

@IT ソフトウェア品質向上セミナー
AI/機械学習、自動化で開発現場にも訪れるシンギュラリティにどう備えるか
https://itmedia.smartseminar.jp/public/seminar/view/1250

基調講演時の資料です。

Tomohiro Moro

December 14, 2018
Tweet

More Decks by Tomohiro Moro

Other Decks in Programming

Transcript

  1. 荈䊹稱➜ • ໜ࿊ ஐେ / @slightair • 2014೥3݄ iOSΞϓϦΤϯδχΞͱͯ͠ ΫοΫύουʹೖࣾ

    • ೖ͔ࣾͯ͠ΒͣͬͱΫοΫύουiOSΞϓϦͷ ։ൃʹܞΘΔ • ٕज़෦ϞόΠϧج൫άϧʔϓʹͯࣾ಺ͷ ϞόΠϧΞϓϦ։ൃͷج൫੔උΛਐΊ͍ͯΔ 2/58
  2. ؎ذٖ٦ءّٝךⰻ鏬 1. ϦϦʔεʹؚΊΔػೳΛݕ౼͢Δ/issueΛ࡞Δ 2. ։ൃɾ࣮૷(10Ӧۀ೔) • PRకΊ੾Γ(։ൃظؒͷ8೔໨ɺίʔυϨϏϡʔͱमਖ਼ͷ༨༟Λ࣋ͭͨΊ) • ίʔυϑϦʔζ 3.

    ςετɾಈ࡞֬ೝɾमਖ਼(3Ӧۀ೔) 4. αϒϛοτɺϦϦʔε • iOS͸৹ࠪͰҰिؒ͘Β͍଴ͬͨޙϦϦʔε • Android͸ 2೔͓͖ʹ 10%ɺ50%ɺ100% ͱஈ֊తϦϦʔε 5. ϦϦʔεޙ؂ࢹ(Ϋϥογϡ਺ɺϦΫΤετΤϥʔɺ͝ҙݟɾ͓໰͍߹Θͤ) 15/58
  3. ٔٔ٦أ׀הך䮶׶鵤׶ • ϦϦʔε͝ͱʹৼΓฦΓɺظؒதʹى͖ͨ໰୊΍ͦͷରࡦΛڍ͛ɺ վળΛ܁Γฦͨ͠3 • ϑϩʔΛָʹճ͢ɺ඼࣭Λ্͛ΔͨΊͷ޻෉Λ͢Δ4 • ϦϦʔεखॱissueͳͲͷࣗಈ࡞੒ • issue΍PRͷ࡞੒ʹ߹ΘͤఆܕจΛBotʹ౤ߘͤ͞Δ

    • ։ൃ্Α͘ϋϚΓ͕ͪͳϙΠϯτ • ঢ়ଶͷ૊Έ߹ΘͤΛ໢ཏ͢ΔνΣοΫϦετ 4 ΞϓϦ։ൃͷ඼࣭ఈ্͛ࢪࡦΛWebhooksͰBot͕ࢧԉ͢Δੈք - ΫοΫύου։ൃऀϒϩά 3 KPTͰ೪Γڧ͘඼࣭վળʹऔΓ૊Μͩ࿩ - ΫοΫύου։ൃऀϒϩά 19/58
  4. 倵瘻؝٦سٖؽُ٦ך頾䬐׾幾׵ׅ • ػցతʹίʔυͷ໰୊Λࢦఠ͢ΔπʔϧΛ։ൃɾಋೖ͢Δ5 • มߋ఺ΛΘ͔Γ΍͘͢ॻͨ͘ΊͷςϯϓϨʔτΛ੔උ͢Δ6 • ίʔυϨϏϡʔͰ͸ԿΛ͢΂͖ͳͷ͔࠶֬ೝ͢Δ • εϖϧϛε/ελΠϧ่ΕͳͲͷࠣࡉͳϛε •

    ࣮૷ํ๏ɺ࣮ݱखஈͷଥ౰͞ " • ػೳ͕ҙਤ௨Γ࣮૷͞Ε͍ͯΔɺద੾ͳϩάΛऩूͰ͖͍ͯΔ͔ 6 ։ൃ଎౓Λ্͛ΔͨΊͷ Pull-Request ͷͭ͘Γํ - ΫοΫύου։ൃऀϒϩά 5 Danger - https://danger.systems/ruby/ 24/58
  5. 倵瘻؟ـىحز⡲噟ך荈⹛⻉ • ϦϦʔεϚωʔδϟʔ͕ख࡞ۀͰαϒϛοτ͢Δͷ͸େมɺ ؒҧ͍΋ى͖΍͍͢ • αϒϛοτʹඞཁͳূ໌ॻྨͷڞ༗΋ՄೳͳݶΓݮΒ͍ͨ͠ • CIϚγϯͰΞϓϦͷϏϧυɺ৹ࠪఏग़·Ͱߦ͑ΔΑ͏ʹͨ͠7 • ChatBotʹαϒϛοτͷࢦࣔΛग़͢ͱJenkinsδϣϒ͕

    ΩοΫ͞Εfastlane8ͰҰ࿈ͷ࡞ۀ͕࣮ߦ͞ΕΔ 8 fastlane - App automation done right - https://fastlane.tools 7 iOSΞϓϦͷαϒϛοτࣗಈԽͱূ໌ॻ؅ཧͷޮ཰Խ - ΫοΫύου։ൃऀϒϩά 26/58
  6. 倜׃ְٔٔ٦أؿٗ٦  • ຖि༵ۚͷૣேʹίʔυΛϏϧυ͠ɺࣗಈతʹ੒Ռ෺Λ αϒϛοτ/Ξοϓϩʔυ͢Δ9 • ։ൃऀ͸͜ͷλΠϛϯά·Ͱʹ࣍ͷϦϦʔεʹؚΊ͍ͨमਖ਼ΛϚʔδ͢Δ • ։ൃνʔϜͰे෼ʹಈ࡞֬ೝͨ͠ίʔυͷΈΛϚʔδ͢Δ •

    Ϛʔδޙʹෆ۩߹͕ݟ͔ͭͬͨΒɺมߋΛ͙͢ʹࠩ͠໭͢ • ϦϦʔεީิ൛ͷ؟ـىحز،حفٗ٦س䖓ʹશମͷಈ࡞֬ೝΛߦ͏ɺ ֤։ൃνʔϜͷϦϦʔε൑ఆΛΫϦΞͨ͠ΒϦϦʔε͢Δ • க໋తͳ໰୊͕ݟ͔ͭͬͨΒͦͷόʔδϣϯͷϦϦʔεΛεΩοϓ͢Δ 9 ΫοΫύουΞϓϦ͸ΈΜͳ͕৸͍ͯΔؒʹαϒϛοτ͞ΕΔ - ΫοΫύου։ൃऀϒϩά 44/58
  7. ذأز٥⹛⡲然钠ך⸬桦⻉ • ٳ೔ͳͲਓͷಈ͍ͯͳ͍࣌ؒʹࣗಈςετ݁ՌΛػցʹͦΖ͑ͯ ΋Β͏ • ҰճͷϦϦʔεظؒͰͷςετ؀ڥͷ໢ཏΛ͖͋ΒΊΔ10 ʢը໘αΠζɺOSόʔδϣϯͳͲͷ૊Έ߹Θͤʣ • ͋Δఔ౓ͷظؒͰΈͨ࣌໢ཏ͞Ε͍ͯΔΑ͏ʹ޻෉͢Δ •

    ࣗಈԽͰ͖ͳ͍खಈςετͰ͸ؔ࿈ػೳʹมߋ͕ͳ͚Ε͹লུ͢Δ • ߹ཧతʹςετΛ΍Γ͗͢ͳ͍ઓུΛऔΔ 10 ຖिϦϦʔεΛ࣮ݱ͢Δςετ׆ಈ - ΫοΫύου։ൃऀϒϩά 54/58