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

CI/CD を学びながら Codemagic を使ってみよう

CI/CD を学びながら Codemagic を使ってみよう

Codemagic を使って実演しながら発表した資料です。

リポジトリ
https://github.com/yamatatsu10969/ci_cd/tree/not_setup_firebase

リファレンス

[CI/CD とは-継続的インテグレーション/継続的デリバリー|Red Hat](https://www.redhat.com/ja/topics/devops/what-is-ci-cd)
[Codemagic Documentation](https://docs.codemagic.io/)
[Practical guide: Flutter + Firebase + Codemagic (for Android) | Codemagic Blog](https://blog.codemagic.io/practical-guide-flutter-firebase-codemagic-on-android/)

0ec6c14bc6e93ab2d5f7b8e04f7355e9?s=128

Yamamoto Tatsuya

August 18, 2021
Tweet

Transcript

  1. $*$%Λֶͼͳ͕Β $PEFNBHJDΛ࢖ͬͯΈΑ͏ :BNBNPUP5BUTVZB

  2. ࣗݾ঺հ

  3. ࣗݾ঺հ χοΫωʔϜɿ΍·ͨͭ ग़਎ɿ۽ຊˠ౦ژˠਆಸ઒ʢԣ඿ʣ झຯ 0/&0,30$,ௌ͘ ๜ϩοΫ  ͚ͭ໙৯΂Δɺ͓ञҿΉʢ΢ΠεΩʔʣ ޷͖ͳ%BSUͷϝιουɿJT/PU&NQUZ (JU)VCZBNBUBUTV

  4.    ΞδΣϯμ $*$%ͱ͸ ݱ৔ͰͲͷΑ͏ʹ࢖ΘΕ͍ͯΔ͔ ࣮ࡍʹ$PEFNBHJDΛ࢖ͬͯΈΔ

  5.   ຊ೔ͷΰʔϧ $*$%ͬͯ͜Μͳ͔Μ͔͡ʔʂͱͳΔ $PEFNBHJDͳΒࣗ෼ʹ΋Ͱ͖ͦ͏ʂͱࢥ͏

  6.   ̏  ΞδΣϯμ $*$%ͱ͸ ݱ৔ͰͲͷΑ͏ʹ࢖ΘΕ͍ͯΔ͔ ࣮ࡍʹ$PEFNBHJDΛ࢖ͬͯΈΔ

  7. $*$%ͱ͸  $*$%ʢ$POUJOVPVT*OUFHSBUJPOʗ$POUJOVPVT%FMJWFSZʣ ೔ຊޠͰ͸ܧଓతΠϯςάϨʔγϣϯʗܧଓతσϦόϦʔ ʮ$*ʯͱ͸ɺ։ൃऀ޲͚ͷࣗಈԽϓϩηε $*͕ਖ਼ৗʹػೳ͢ΔͱɺΞϓϦέʔγϣϯ΁ͷ৽͍͠ίʔυมߋ͕ఆظతʹϏϧυɺςετ͞Εɺڞ௨Ϧϙ δτϦʹ౷߹͞Ε·͢ɻ ྫɿϓϧϦΫΤετΛग़͢ˠ$*ʹΑͬͯϏϧυ͞Εɺςετ͞Εͯɺ໰୊͋Ε͹ϚʔδͰ͖ͳ͘ͳΔ ʮ$%ʯͱ͸ɺܧଓతσϦόϦʔ·ͨ͸ܧଓతσϓϩΠϝϯτ ࣗಈԽͷఔ౓Λදͨ͢Ίʹ۠ผͯ͠࢖༻͞ΕΔ͜ͱ͕͋Γ·͢ɻ

    ܧଓతσϦόϦʔɿ։ൃऀʹΑΔΞϓϦέʔγϣϯ΁ͷมߋʹରͯ͠ɺόά͕ͳ͍͔ࣗಈతʹςετ͠ɺϦϙ δτϦ (JU)VCͳͲ ʹΞοϓϩʔυ͞ΕΔ ܧଓతσϓϩΠϝϯτɿ։ൃऀʹΑΔมߋΛϦϙδτϦ͔Βຊ൪؀ڥʹࣗಈతʹϦϦʔε͠ɺސ٬͕࢖༻Ͱ͖ ΔΑ͏ʹ͢Δ <$*$%ͱ͸ܧଓతΠϯςάϨʔγϣϯܧଓతσϦόϦʔc3FE)BU> IUUQTXXXSFEIBUDPNKBUPQJDTEFWPQTXIBUJTDJDE
  8.   ͳͥ$*$%Λಋೖ͢Δ͔ ίʔυ͕յΕ͍ͯͳ͍͜ͱͱ඼࣭Λอূ͢Δ ໘౗ͳ഑෍࡞ۀͱϦϦʔε࡞ۀΛޮ཰Խ Ϗϧυ΍ΞʔΧΠϒʹ͕͔͔࣌ؒΔͱ5XJUUFSΛΈͯ͠·͏ͨΊ

  9. $PEFNBHJDͱ͸  ϞόΠϧΞϓϦʹಛԽͨ͠$*$%αʔϏεʢಛʹ'MVUUFSʣ ߏங͕ͱͯ΋ָɻ(6*ͰΆͪΆͪͱϫʔΫϑϩʔ͕ߏஙͰ͖Δ ͭͷϫʔΫϑϩʔͰ༷ʑͳϓϥοτϑΥʔϜʹରԠͨ͠Ϗϧυ͕Ͱ͖Δ 'MVUUFSʹಛԽ͍ͯ͠Δʂʂʂ ϝʔϧͰΞϓϦ഑৴  ϝʔϧͰ഑৴Ͱ͖ΔͷͰɺଞͷ഑৴αʔϏεΛೖΕͳͯ͘ྑ͍ʂ ʢηΩϡϦςΟ͸গ͠৺഑ɺϝʔϧΞυϨεΛؒҧͬͯ͠·ͬͯ஌Βͳ͍ਓʹಧ͘Մೳੑ͸͋Δʣ

  10. ΞϓϦ։ൃͰΑ͘࢖͏$*$%αʔϏε 5FTU'MJHIU

  11.    $*$%ͷબఆج४ අ༻ ৽͍͠όʔδϣϯ΁ͷରԠ଎౓ νʔϜͷܦݧ஋ ৽͍͠αʔϏεग़ͯͨΒࢼ͢ɻແྉ࿮Ͱ༡Ϳɻ݁ہੲ΍ͬͯͨ΍ͭʹͳͬͨΓɻ

  12.   ̏ ΞδΣϯμ $*$%ͱ͸ ݱ৔ͰͲͷΑ͏ʹ࢖ΘΕ͍ͯΔ͔ ࣮ࡍʹ$PEFNBHJDΛ࢖ͬͯΈΔ

  13. ݱ৔ͰͲͷΑ͏ʹ࢖ΘΕ͍ͯΔ͔ ϓϧϦΫΤετΛ࡞ͬͨͱ͖ʹ$*Λ૸ΒͤΔ ɾ੩తղੳ ɾςετΛߦ͏ ɾʢ഑෍͢Δͱ͜Ζ΋͋Δʣ ಛఆͷϒϥϯνʹϚʔδͨ͠ͱ͖ RB SFMFBTF ʹ഑෍ ɾ഑෍αʔϏεͰ2"͞Μʹ഑෍

    ɾ"QQ4UPSF΍(PPHMF1MBZʹΞοϓϩʔυ
  14. ݱ৔ͰͲͷΑ͏ʹ࢖ΘΕ͍ͯΔ͔ 2"͞Μ͕ࣗ෼Ͱ഑෍ͯ͠ݕূͰ͖ΔΑ͏ʹ͢Δ ɾ4MBDLͰಛఆͷจࣈΛݕग़ͯ͠഑෍͢ΔνϟϯωϧΛ࡞Δ lTUH഑෍z lSFMFBTF഑෍zͳͲɻ'MVUUFSେֶ͘Μͱಉ͡࢓૊Έ  ɾ$*$%αʔϏεͰʮϏϧυʯϘλϯΛϙνοͱԡͯ͠΋Β͏

  15. $*͕ϓϧϦΫΤετͰಈ͍͍ͯΔΠϝʔδ

  16. ϦϦʔε·ͰͷಓͷΓʢͬ͘͟Γʣ  ։ൃ ϩʔΧϧ  ςετ ϩʔΧϧ  ΞʔΧΠϒʢΞϓϦͱ͔ͯͨ͠ΊΔʣ 2"͞Μʹ഑෍

    2"͞Μʹςετͯ͠΋Β͏ "QQ4UPSF΍(PPHMF1MBZʹΞοϓϩʔυ
  17. ϦϦʔε·ͰͷಓͷΓʢͬ͘͟Γʣ  ։ൃ ϩʔΧϧ  ςετ ϩʔΧϧ  ΞʔΧΠϒʢΞϓϦͱ͔ͯͨ͠ΊΔʣ 2"͞Μʹ഑෍

    2"͞Μʹςετͯ͠΋Β͏ "QQ4UPSF΍(PPHMF1MBZʹΞοϓϩʔυ ͜͜Λ$*$%ʹ ΍ͬͯ΋Β͏ ਓΤϯδχΞΛ ޏͬͯΔͱ ࢥ͑͹͍҆
  18. ͍ͭߏங͢Δͷʁ ഑෍࡞ۀΊΜͲ͍͘͞ʂͱࢥͬͨ࣌ ະܦݧͷਓ  ɾ഑෍࡞ۀ΍ΞʔΧΠϒΛޮ཰Խ͍ͨ͠ͱࢥ͔ͬͯΒ ࠷ॳʹߏங͢Δʂऴ൫͸͖͍ͭʢܦݧऀ͸ޠΔʣ ɾ࠷ॳʹ΍͓͚ͬͯ͹ͦͷޙָ͕ ɾޙ͔Β΍ΔͱɺϏϧυ͕͔͔࣌ؒͬͯߏங΋େม

  19. $*$%͋Δ͋Δ ࡢ೔·ͰͪΌΜͱಈ͍ͯͨͷʹ ಈ͔ͳ͘ͳͬͨ ࠷ॳʹϏϧυ௨ͬͨ࣌ͷײಈ͕͍͢͝ $PDPB1PET͕ࢮΜͰͨΓ͢Δ ΈΜͳͷ͋Δ͋Δ΋4MBDLʹॻ͖ࠐΜͰͶ

  20.    ΞδΣϯμ ݱ৔ͰͲͷΑ͏ʹ࢖ΘΕ͍ͯΔ͔ ࣮ࡍʹ$PEFNBHJDΛ࢖ͬͯΈΔ $*$%ͱ͸

  21.  ॱ൪ʹઆ໌͍͖ͯ͠·͢ʂ

  22. ࣮ԋ ϫʔΫϑϩʔͷߏஙɺ13࡞੒ɺ഑෍͞ΕΔ·Ͱ

  23. ηοτΞοϓ

  24. ηοτΞοϓ׬ྃʂ

  25. ઃఆͷઆ໌

  26. ϏϧυτϦΨʔ

  27. ؀ڥม਺ IUUQTCMPHDPEFNBHJDJPQSBDUJDBMHVJEF fl VUUFS fi SFCBTFDPEFNBHJDPOBOESPJE

  28. Ωϟογϡ

  29. ςετ

  30. Ϗϧυ

  31. Ϗϧυ

  32. ഑෍

  33. ௨஌

  34. ഑෍

  35. εΫϦϓτ ͋ͱ͸ɺϏϧυޙɺ഑෍લɺ௨஌ޙʹॻ͚Δ

  36.  ڞಉ։ൃʹςετ͚ͩೖΕΔͱྑͦ͞͏ʂ

  37.  %0/& ʢແྉ࿮͋Δ͔Βࢼͯ͠ΈͯͶʣ ෼·ͰແྉIUUQTDPEFNBHJDJPQSJDJOH

  38. λΠτϧ  ϦϑΝϨϯε  <$*$%ͱ͸ܧଓతΠϯςάϨʔγϣϯܧଓతσϦόϦʔc3FE)BU> IUUQTXXXSFEIBUDPNKB UPQJDTEFWPQTXIBUJTDJDE   <$PEFNBHJD%PDVNFOUBUJPO>

    IUUQTEPDTDPEFNBHJDJP   <1SBDUJDBMHVJEF'MVUUFS 'JSFCBTF $PEFNBHJD GPS"OESPJE c$PEFNBHJD#MPH> IUUQT CMPHDPEFNBHJDJPQSBDUJDBMHVJEF fl VUUFS fi SFCBTFDPEFNBHJDPOBOESPJE