pytestによるCIレボリューション

40e86de32af123cd0460d2e5326c5573?s=47 abenben
September 17, 2019

 pytestによるCIレボリューション

2019年9月17日にPyCon JP 2019(https://pycon.jp/2019/)で発表したスライドです
※時間が足りなくて発表できなかったスライドも後半に少し入ってます。
https://pycon.jp/2019/sessions

40e86de32af123cd0460d2e5326c5573?s=128

abenben

September 17, 2019
Tweet

Transcript

  1. QZUFTUʹΑΔ $*ϨϘϦϡʔγϣϯ 1Z$PO +1ʢʣ ͋΂Μ΂Μ

  2. n ๺ւಓʢ಩খ຀ʣੜ·Ε n ๭ۚ༥ػؔͷ *5ςΫϊϩδετ n ϏδωεϞσϧΠϊϕʔγϣϯڠձ ೝఆδϡχΞίϯαϧλϯτ n ࣗ཯෼ࢄࣾձϑΥʔϥϜ

    %"4'ʣձһ  ࢓ࣄ ɾΫϥ΢υಋೖɾݚڀɾ։ൃͷαϙʔτɺ࠷৽ٕज़ͷϦαʔν  ͓֎Ͱͷ׆ಈ ɾ8FCɺϒϩοΫνΣʔϯ΍ྔࢠίϯϐϡʔλʔٕज़։ൃˍ ίϛϡχέʔλʔ ɾΤϯδχΞ޲͚ͷίϛϡχςΟͷӡӦ ʢ4UBSU1ZUIPO$MVCɺGJOQZɺ95FDI +"84ɺ 'JO+"84ɺGPVOE *5QSPKFDUɺദͷ༿ˍͭ͘͹ϏοτίΠϯͷछྨʣ ɾςοΫ·ͨ͸ϏδωεΠϕϯτͷاըɾߨԋ ɾ*5ؔ࿈ॻ੶ͷ؂मɾࣥචɾϨϏϡʔ ݄೔ൃച
  3. ஫ҙࣄ߲ ຊࢿྉͷ಺༰͸શͯஶऀݸਓʹؼ͢Δ΋ͷͰ͋Γɺॴଐ͢ΔػؔͷݟղΛ൓өͨ͠΋ͷͰ͸͋Γ·ͤΜɻ

  4. ࠓ೔ͷ͓࿩ • QZUFTUʹ͍ͭͯ • $JSDMF$*ʹ͍ͭͯ

  5. ςετۦಈ1ZUIPO ʲ໨࣍ʳ $)"15&3͸͡ΊͯͷQZUFTU $)"15&3ςετؔ਺Λ࡞੒͢Δ $)"15&3QZUFTUͷϑΟΫενϟ $)"15&3૊ΈࠐΈϑΟΫενϟ $)"15&3ϓϥάΠϯ $)"15&3ߏ੒ $)"15&3QZUFTUΛଞͷπʔϧͰ࢖ͬͯΈΔ ෇࿥"Ծ૝؀ڥ

    ෇࿥#QJQ ෇࿥$QZUFTUͷϓϥάΠϯ ෇࿥%1ZUIPOϓϩδΣΫτͷύοέʔδԽͱ഑෍ ෇࿥&Y6OJUϑΟΫενϟ ˞ ෇࿥'Ϋϥ΢υͰQZUFTUΛ࢖͏ $JSDMF$* ˞ ෇࿥(QZUFTUΛ༻͍ͨςετۦಈ։ൃ ˞ ೔ຊޠ຋༁൛ͷΈ https://www.shoeisha.co.jp/book/detail/9784798157603
  6. ςετͷछྨ ςετͷछྨ ಺༰ උߟ Ϣχοτςετ ؔ਺΍ΫϥεͳͲɺίʔυͷ͘͝Ұ෦ΛνΣο Ϋ͢Δςετɻ ϗϫΠτϘοΫςετ ݁߹ςετ ෳ਺ͷΫϥε΍αϒγεςϜͳͲɺҰճΓେ͖

    ͳίʔυΛνΣοΫ͢Δςετɻ ϗϫΠτϘοΫςετ γεςϜςετ ςετ͍ͯ͠ΔςετશମΛνΣοΫ͢Δςε τɻຊ൪؀ڥʹ͍ۙ؀ڥͰςετΛ͢Δɻ ϒϥοΫϘοΫεςετ ػೳςετ γεςϜશମͷػೳͱੑೳΛςετ͢Δɻ γεςϜ͕ސ٬ͷཁٻΛຬ͍ͨͯ͠Δ͔Λςε τ͢Δɻ ϒϥοΫϘοΫεςετ ൽԼςετ ࠷ऴతͳΤϯυϢʔβʔͷΠϯλϑΣʔεʹର ࣮ͯ͠ߦ͞ΕΔͷͰ͸ͳ͘ɺද໘ͷ͙͢Լʹ͋ ΔΠϯλʔϑΣʔεʹର࣮ͯ͠ߦ͢Δςετɻ "1*૚ʹରͯ͠ߦ͏ςετɻ ϒϥοΫϘοΫεςετ
  7. (PPHMF&OHJOFFSJOH 1SBDUJDFT%PDVNFOUBUJPO ɾ%FTJHOʢγεςϜʹͱͬͯద੾ͳઃܭ͔ʁʣ ɾ'VODUJPOBMJUZʢ࡞ऀ͕ҙਤͨ͠ͱ͓ΓʹৼΔ෣͏͔ʁʣ ɾ$PNQMFYJUZʢͰ͖Δ͚ͩγϯϓϧʹͳ͍ͬͯΔ͔ʁʣ ɾ5FTUTʢద੾ͳࣗಈςετ͕උΘ͍ͬͯΔ͔ʁʣ ɾ/BNJOHʢม਺΍Ϋϥεɺϝιουʹ໌֬ͳ໊લ͕෇͚ΒΕ͍ͯΔ͔ʁʣ ɾ$PNNFOUTʢίϝϯτ͸໌֬Ͱ෼͔Γ΍͍͔͢ʁʣ ɾ4UZMFʢίʔυ͸ελΠϧΨΠυʹै͍ͬͯΔ͔ʁʣ ɾ%PDVNFOUBUJPOʢؔ࿈͢ΔυΩϡϝϯτ͸ߋ৽͞Ε͍ͯΔ͔ʁʣ

    ※⽇本語プロジェクト https://shuuji3.github.io/eng-practices/ https://www.publickey1.jp/blog/19/googlegoogle_engineering_practices_documentation.html
  8. 1ZUIPOͷϢχοτςετϑϨʔϜϫʔΫ VOJUUFTU OPTFςετ ࣍ϖʔδͰઆ໌ 1ZUIPOͷඪ४ϥΠϒ ϥϦͱͯ͠༻ҙ͞Εͯ ͍Δɻ +6OJUΛϕʔεʹͯ͠ ͍Δʢ5FTU$BTFΛܧ ঝ͢Δඞཁ͕͋Δʣɻ

    ଟ࠼ͳΦϓγϣϯͰॊ ೈͳςετ͕Ͱ͖ɺΧ όϨοδΛऔΔ͜ͱ΋ Ͱ͖Δɻ %4-ه๏ʹରԠ͍ͯ͠ Δɻ ಛఆͷΫϥεΛܧঝ͢ Δඞཁ͕ͳ͍
  9. QZUFTUͷಛ௃ • QZUFTUͰ͸ɺ୯७ͳςετΛॻ͘ͷ͕؆୯Ͱ͋Δɻ • ෳࡶͳςετΛॻ͘ͷ΋؆୯Ͱ͋Δɻ • QZUFTUͷςετ͸ಡΈ΍͍͢ɻ • QZUFTUͷςετ͸ಡΈ΍͍͢ʢॏཁͳͷͰ̎ճॻ͖·ͨ͠ʣɻ •

    ΋ͷͷ਺ඵͰ࢖͍࢝ΊΔ͜ͱ͕Ͱ͖Δɻ • ςετΛࣦഊͤ͞Δʹ͸BTTFUΛ࢖༻͢ΔɻTFMGBTTFSU&RVBM Ͱ΋ TFMGBTTFSU-FTT5IBO Ͱ΋ͳ͘ɺͨͩͷBTTFSUͰ͋Δɻ • VOJUUFTU·ͨ͸OPTF༻ʹॻ͔Εͨςετ͸QZUFTUͰ࣮ߦͰ͖Δɻ ʮςετۦಈ1ZUIPOʯ!ᠳӭࣾΑΓ $ pip install pytest でインストール
  10. QZUFTUͷGJYUVSF ϑΟΫενϟ͸ɺ࣮ࡍͷςετؔ਺ͷ࣮ߦʹઌཱͬͯʢ·ͨ͸ͦͷલޙʹʣɺ QZUFTUʹΑ࣮ͬͯߦ͞ΕΔؔ਺Ͱ͢ɻ ༷ʑͳείʔϓͰར༻ՄೳʢTFTTJPO DMBTT NPEVMF GVODUJPOʣ ʮςετۦಈ1ZUIPOʯ!ᠳӭࣾΑΓ

  11. ςετର৅ͷϓϩάϥϜ ͨ͠ࢉ ͻ͖ࢉ ͔͚ࢉ ΘΓࢉ

  12. ςετΫϥεʢQZUFTUʣ ᶃϦετͷ಺༰ΛՄࢹԽ͢ΔͨΊʹ༻ҙ

  13. Ճࢉͷςετ ᶃςετύλʔϯͷ഑ྻ ʢҎԼͷͭΛνΣοΫΛ͢Δʣ       

      ᶆςετͷ࣮ࢪ ᶄςετύλʔϯΛ ࣮̍ͮͭࢪ ᶅςετσʔλͷՄࢹԽํ๏
  14. ݮࢉͷςετ

  15. ৐ࢉͷςετ ςετͷෆྑΛ ҙਤతʹొ࿥ʂ

  16. আࢉͷςετ ςετύλʔϯͷ ࿙ΕΛ ҙਤతʹొ࿥ʂ

  17. QZUFTUͷ࣮ߦ ࣦഊͨ͠ςετͷ ৄࡉ͕ग़ྗ͞ΕΔ ͷͰΘ͔Γ΍͍͢

  18. շదͳ؀ڥͰ։ൃΛ

  19. շదͳ؀ڥͰ։ൃΛ ςετʹؔ͢Δ αϙʔτػೳ͕ ॆ࣮ ʢ༗ঈ൛ͷΈʣ ΠϯλϥΫςΟϒ ͳσʔλ෼ੳʹ͸ ޲͍͍ͯΔ͕։ൃ ޲͚Ͱ͸ͳ͍

  20. 74$PEFͱ͸ • ϚΠΫϩιϑτʹΑͬͯ։ൃ͞Ε͍ͯΔιʔείʔυΤσΟλɻ ʢ೥ϦϦʔεʣ • ιʔείʔυ͕ϋΠϥΠτදࣔ͞ΕΔɻ ʢ༷ʑͳϓϩάϥϛϯάݴޠʹରԠʣ • ϑΝΠϧ΍ϑΥϧμͷ؅ཧ͕؆୯ɻ •

    ศརͳ֦ுػೳ͕͋Δɻ • ̎ͭͷϑΝΠϧΛಉ࣌ʹ։͍ͯ ࡞ۀͰ͖Δɻ • ίʔυͷࣗಈิ׬ػೳɻ • ೔ຊޠઃఆɻ • 8JEPXT049-JOVYͰಈ࡞Մೳɻ
  21. 1ZUIPOͷࣗಈิ׬Λ༗ޮԽ ஫ҙʣ༗ޮʹ͢Δʹ͸ɺجຊઃఆ͔Β QZUIPOKFEJ&OBCMFEΛݕࡧͯ͠ɺνΣοΫΛ֎͢͜ͱɻ

  22. 74$PEFͰQZUFTUͷઃఆ ͜ͷล

  23. 74$PEFͰQZUFTUͷ࣮ߦ ᶃςετΛදࣔ ᶄςετΛ࣮ߦ ᶅ݁ՌΛ֬ೝ

  24. 74$PEFͰQZUFTUͷ࣮ߦ ςετͷࣦഊ͕ ৄࡉʹදࣔ͞ΕΔ

  25. 1Z$IBSNͱ͸ • ߴ඼࣭ͳ*%& • 8JEPXT049-JOVYͰಈ࡞Մೳɻ • 1SPGFTTJPOBM&EJUJPOʢ༗ঈ൛ʣͱ$PNNVOJUZ&EJUJPOʢແঈ൛ʣ͕͋Δɻ • 8FC։ൃʹ͸1SPGFTTJPOBM&EJUJPO͕͓קΊɻ +BWB4DSJQUɺ$PGGFF4DSJQUɺ5ZQF4DSJQUɺ)5.-$44αϙʔτ

    ϑϨʔϜϫʔΫɿ%KBOHPɺ'MBTLɺ(PPHMF"QQ&OHJOFɺ1ZSBNJEɺXFCQZͷαϙʔτ σʔλϕʔεͱ42-ͷαϙʔτ • ༗ঈ൛ʹ͸೔ؒͷ ϑϦʔτϥΠΞϧ͕͋ΔͷͰ·ͣ͸ମݧɻ • ೔ຊޠઃఆ΋Մೳ ʢ&1-ϥΠηϯεͰผஂମ͕ఏڙʣ IUUQTRJJUBDPNTVFDIBSPJUFNTECCGG • ςετϑϨʔϜϫʔΫʹରԠʢ༗ঈ൛ͷΈʣ
  26. 1Z$IBSNʢ༗ঈ൛ʣͰQZUFTUͷઃఆ

  27. 1Z$IBSNʢ༗ঈ൛ʣͰQZUFTUͷઃఆ

  28. 1Z$IBSNʢ༗ঈ൛ʣͰQZUFTUΛ࣮ߦ 1Z$IBSNʢ༗ঈ൛ʣ͸ɺ ໰୊ͷ͋ΔՕॴͷ ϦϯΫ͕༻ҙ͞ΕΔͷͰ ͙͢ʹιʔε΁ભҠ͕Ͱ͖Δɻ

  29. $*$%ͱ͸ $* $% $POUJOVPVT*OUFHSBUJPO $POUJOVPVT%FMJWFSZ ܧଓతΠϯςάϨʔγϣϯ ܧଓతσϦόϦʔ ։ൃऀ޲͚ͷࣗಈԽϓϩηεɻ ৽͍͠ίʔυมߋ͕ఆظతʹϏϧυɺ ςετ͞Εɺ౷߹ϦϙδτϦʹ౷߹

    ͞ΕΔ͜ͱɻ όάͷࣗಈൃݟɺख࡞ۀͷഉআɺೲ ظ୹ॖͳͲͷ։ൃޮ཰Խ͕໨తɻ ։ൃऀʹΑΔมߋΛϦϙδτϦ͔Β ຊ൪؀ڥʹࣗಈతʹϦϦʔε͠ɺސ ٬͕࢖༻Ͱ͖ΔΑ͏ʹ͢Δ΋ͷɻ ৽نίʔυͷಋೖ࡞ۀͷෛ୲Λ࠷খ ݶʹ͢Δͷ΋໨తɻ
  30. $JSDMF$* Ϗϧυɿιʔείʔυ͔Β࣮ߦՄೳͳΞϓϦέʔγϣϯΛߏங͠·͢ɻ ʢ%PDLFSΠϝʔδͷQVMMɺґଘύοέʔδͷΠϯετʔϧɺίϯύΠϧʣ ςετɿ65ͳͲͷςετίʔυΛ࣮ߦͯ͠ಈ࡞֬ೝΛͨ͠ΓɺίʔυελΠϧνΣοΫΛߦ͏ɻ σϓϩΠɿϏϧυͯ͠ςετ͕௨ͬͨ΋ͷΛຊ൪؀ڥ΍ݕূ؀ڥͳͲʹϦϦʔε͠·͢ɻ • Ϋϥ΢υܕͷ$*$%αʔϏεʢ4BB4ʣ • HJUIVC·ͨ͸HJUCVDLFUͱͷ࿈ܞ͕ඞਢ •

    ίϯςφ͸ແྉɺͭ໨Ҏ߱͸༗ྉ • QSJWBUFϦϙδτϦͰ΋ແྉʢฒྻϏϧυ͸༗ྉʣ • $JSDMF$*ͷ7.ʹ44)઀ଓ͕Մೳ テスト テスト テスト
  31. ୅දతͳΫϥ΢υؔ࿈ςΫϊϩδʔͷҰཡ Cloud Native Computing Foundation作成 : IUUQTMBOETDBQFDODGJP

  32. ୅දతͳΫϥ΢υؔ࿈ςΫϊϩδʔͷҰཡ Cloud Native Computing Foundation作成 : IUUQTMBOETDBQFDODGJP ֦େ͢Δͱ ൃݟʂʂ

  33. ʢิ଍ʣ(JU)VC"DUJPOTʢЌ൛ʣ ݄೔ਖ਼ࣜ൛ϦϦʔε༧ఆ $JSDMF$*ͷϫʔΫϑϩʔͱ΄΅ಉ͡ػೳ ʻϝϦοτʼ ɾ(JU)VC͚ͩͰϫʔΫϑϩʔΛ׬݁Ͱ͖Δͷ͕ັྗ ʻσϝϦοτʼ ɾΞοϓϩʔυͨ͠ϑΝΠϧΛɺ͍͍ͪͪμ΢ϯϩʔυ͠ͳ͚ Ε͹ݟΕͳ͍ʢ$JSDMF$*͸ௐઅݟΕΔʣ ɾ4MBDL΁ऴྃεςʔλεΛ௨஌͢Δػೳ͕ͳ͍ʢ͔΋ɻɻʣ

  34. $JSDMF$*ͷϓϥϯ IUUQTDJSDMFDJKQQSJDJOH

  35. $JSDMF$*ͷϓϥϯ IUUQTDJSDMFDJKQQSJDJOH

  36. ʢิ଍ʣ(JU)VC"DUJPOTʢЌ൛ʣྉۚ ݄೔ਖ਼ࣜ൛ϦϦʔε༧ఆ

  37. ϩʔΧϧ؀ڥ΁ͷηοτΞοϓ NBD %PDLFS͕ೖ͍ͬͯͳ͍৔߹͸ɺΠϯετʔϧɻ $JSDMF$*ͷΠϯετʔϧ

  38. ϓϩδΣΫτͷߏ੒ $JSDMF$*ͷઃఆϑΝΠϧ (JU)VCϦϙδτϦʹొ࿥͢Δ

  39. $JSDMF$*ͷઃఆ ύοέʔδͷΠϯετʔϧ ˍ ιʔεͷϏϧυ ར༻͍ͨ͠%PDLFSΠϝʔδ

  40. $JSDMF$*ͷઃఆʢଓ͖ʣ ςετˍςετϨϙʔτग़ྗ ݁ՌϨϙʔτΛΞοϓϩʔυ ΧόϨοδ ੩తνΣοΫʢMJOUʣ

  41. $JSDMF$*ίϯϑΟάͷόϦσʔγϣϯ

  42. ϩʔΧϧ1$্ͷ%PDLFSͰಈ࡞Λ֬ೝ͢Δ͜ͱ΋Ͱ͖Δ ஫ҙɿϩʔΧϧ1$Ͱ͸ɺ Ͱ͖ͳ͍΋ͷ΋͋Δɻ

  43. ૣ଎ɺ4BB4൛Λར༻͠·͠ΐ͏ʂ ·ͣ͸Ϣʔβʔొ࿥Λ͠·͢ɻ

  44. $JSDMF$*ͱ4MBDLΛ࿈ܞ͢Δ https://abenben-test.slack.com/apps/A0F7VRE7N-circleci

  45. (JU)VCͷϓϩδΣΫτ΁ؔ࿈͚ͮ https://circleci.com/add-projects

  46. (JU)VC΁ͷؔ࿈͚ͮ௚ޙʹࣗಈͰ$*͕࣮ߦ͞ΕΔ ͓ͬͱɺࣦഊʢ'"*-&%ʣͯ͠Δʂ

  47. 4MBDLʹ௨஌͕͘Δʢࣦഊʂʣ

  48. ςετ͕ࣦ̍݅ഊ

  49. ςετίʔυΛमਖ਼͢Δ 10 × 10 = 100へ

  50. (JU)VC΁Ϛʔδ

  51. 4MBDLʹ௨஌͕͘Δʢ੒ޭʂʣ

  52. $JSDMF$*Ͱ಺༰Λ֬ೝ

  53. શςετ੒ޭʂ

  54. ςετ͸੒ޭ͕ͨ͠ΧόϨοδ͸ʁ

  55. ςετΧόϨοδ͕͔͠ͳ͍

  56. ΧόϨοδϨϙʔτΛ֬ೝ͢Δ

  57. ͷιʔείʔυΛಛఆ

  58. ςετ͕໢ཏ͞Εͯͳ͍৔ॴΛݕग़

  59. ࠷ॳʹίϝϯτΞ΢τͨ͠Օॴ ςετύλʔϯͷ ࿙ΕΛ ҙਤతʹొ࿥ʂ

  60. ίϝϯτΛ֎ͯ͠ίϛοτ ςετύλʔϯΛ ௥Ճ͢Δ

  61. (JU)VC΁Ϛʔδ

  62. ࣗಈͰ$*͕࣮ߦ͞ΕΔ

  63. ࠓ౓͸ʂʂ

  64. MJOUͷνΣοΫ΋0,ʂ

  65. ςετ͕ਖ਼ৗͨ͠ΒࣗಈͰσϓϩΠ͢Δ 時間の都合で、説明を省略します。 <(_ _)> $JSDMF$*͔Βෳ਺ͷ8FC ΞϓϦέʔγϣϯαʔό΁σϓϩΠɺ 'BB4 'VODUJPOBTB4FSWJDFʣʹ΋σϓϩΠͰ͖·͢ɻ ฒྻͰςετΛߦͬͯɺશͯͷςετ͕׬͔ྃͯ͠Β ҰׅͰσϓϩΠ͢ΔͳͲͷಉظΛߦ͏͜ͱ΋Ͱ͖·͢ɻ

    'BB4"84 -BNCEB (PPHMF $MVEF 'VODUJPOT "[VSV 'VODUJPOT
  66. 74$PEFͷ$JSDMF$*֦ுػೳ ᶅ$JSDMF$*֦ுΛ Πϯετʔϧ͢Δ ᶆ$JSDMF$*ͷΩʔΛઃఆ͢Δ ᶇ͜͜ΛΫϦοΫ͢Δͱ$JSDMF$*ͷ4BB4Λදࣔ ᶃ$JSDMF$*ͷϢʔβઃ ఆΛදࣔ ᶄ1FSTPOBM"1*5PLFOͰ೚ҙͷτʔΫϯΛ࡞੒

  67. ·ͱΊ • ػցʹͰ͖Δ࡞ۀʢ։ൃ ςετ σϓϩΠʣ͸ɺ ۃྗࣗಈԽ͠Α͏ʂ ʢࣗ෼΍஥ؒͷແବΛݮΒͤΔʣ

  68. ʢ͕࣌ؒ༨ͬͨΒ࿩͢͜ͱʣ

  69. %FW4FD0QTͱ.-0QTΛ࿈ܞͨ͠ $*$%ʹ͍ͭͯ

  70. %FW0QT஌ͬͯ·͔͢ʁ %FW0QT4FD஌ͬͯ·͔͢ʁ .-0QT஌ͬͯ·͔͢ʁ

  71. ೔ຊγϊϓγε߹ಉձࣾʮΞδϟΠϧɺ$*$%ɺ%FW0QTͷҧ͍ͱ͸ʯ IUUQTXXXTZOPQTZTDPNCMPHTTPGUXBSFTFDVSJUZKBKQBHJMFDJDEEFWPQTHMPTTBSZ

  72. %FW0QT4FD ʮ%FW4FD0QT࣌୅ͷ$MPVE4FDVSJUZʯ IUUQTXXXUSFOENJDSPDPNKB@KQCVTJOFTTDBNQBJHOTBXTSFTPVSDFTEFWTFDPQT@XIJUFQBQFSIUNM ։ൃϥΠϑαΠΫϧʹηΩϡϦςΟΛ૊ΈࠐΜͩߟ͑ํ

  73. .-0QT .-ʢϚγϯϥʔχϯάʹػցֶशʣͷ࣮ߦαΠΫϧΛԁ׈Խͯ͘͠ΕΔʮج൫ʯͰ͋Δ ʮ.-0QT:FBSOJOHd࣮ӡ༻γεςϜΛߏங͢ΔલʹσʔλαΠΤϯςΟετ͕ߟ͓͖͍͑ͯͨ͜ͱʯ IUUQTXXXTMJEFTIBSFOFUSBLVUFOUFDINMPQTZFBSOJOH

  74. %FW4FD0QTͱ.-0QTͷ྆ํ͕ߟྀ͞Εͨ$*$% データ基盤の管理、データ分析(AIモデル開発)、アプリケーション開発、 運⽤・保守、セキュリティ・ガバナンス管理が、全て連携し⾃動化するのを⽬指す。 ڭ͍͑ͯͩ͘͞ʂ

  75. .-0QTXJUI"[VSF.- .-0QTXJMMIFMQZPVUPVOEFSTUBOEIPXUPCVJMEUIF$POUJOVPVT*OUFHSBUJPO BOE$POUJOVPVT%FMJWFSZQJQFMJOFGPSB.-"*QSPKFDU8FXJMMCFVTJOHUIF "[VSF%FW0QT1SPKFDUGPSCVJMEBOESFMFBTFEFQMPZNFOUQJQFMJOFTBMPOHXJUI "[VSF.-TFSWJDFTGPSNPEFMSFUSBJOJOHQJQFMJOF NPEFMNBOBHFNFOUBOE PQFSBUJPOBMJ[BUJPO 5IJTUFNQMBUFDPOUBJOTDPEFBOEQJQFMJOFEFGJOJUJPOGPSBNBDIJOFMFBSOJOH QSPKFDUEFNPOTUSBUJOHIPXUPBVUPNBUFBOFOEUPFOE.-"*XPSLGMPX5IF CVJMEQJQFMJOFTJODMVEF%FW0QTUBTLTGPSEBUBTBOJUZUFTU

    VOJUUFTU NPEFM USBJOJOHPOEJGGFSFOUDPNQVUFUBSHFUT NPEFMWFSTJPONBOBHFNFOU NPEFM FWBMVBUJPONPEFMTFMFDUJPO NPEFMEFQMPZNFOUBTSFBMUJNF XFCTFSWJDF  TUBHFEEFQMPZNFOUUP2"QSPEBOEJOUFHSBUJPOUFTUJOH https://github.com/microsoft/MLOpsPython
  76. %BUB0QT $PNQPOFOUTPGB%BUB0QT &OUFSQSJTF4PMVUJPO 4PVSDF&DLFSTPO (SPVQ IUUQTNFEJVNDPNEBUBPQTUIFEBUBPQTFOUFSQSJTFTPGUXBSFJOEVTUSZBFG

  77. ·ͱΊ • ػցʹͰ͖Δ࡞ۀʢ։ൃ ςετ σϓϩΠʣ͸ɺ ۃྗࣗಈԽ͠Α͏ʂ ʢࣗ෼΍஥ؒͷແବΛݮΒͤΔʣ • %FW4FD0QTͱ.-0QTΛ࿈ܞͨ͠$*$%Ͱ ྑ͍ํ਑΍࢓૊Έ͕͋Ε͹ڭ͍͑ͯͩ͘͞ʂ

    ʢ͜Ε͸ɺ·ͱΊͰ͸ͳ͍͔ɻɻʣ
  78. ͓·͚ʢએ఻ʣ ݄Ͱ։࠵ʂ4UBSU1ZUIPO$MVCͰ଴ͬͯ·ʔ͢ʂʂ ຖճɺ:PV5VCF͔Βͷ ϦΞϧ഑৴΋͍ͯ͠·͢ʂ ԕִ஍ͱ΋ͬͱܨ͕Γ͍ͨʂ IUUQTTUBSUQZUIPODPOOQBTTDPN

  79. ありがとうございました︕ @Abenben