Slide 1

Slide 1 text

͸ͯͳͷαʔόϓϩϏ δϣχϯάʹ͍ͭͯ id:hagihala

Slide 2

Slide 2 text

ࣗݾ঺հ • ഡݪ༔հ (͸͗͸ΒΏ͏͚͢) • id:hagihala • γεςϜϓϥοτϑΥʔϜ෦γχΞΤϯδχΞ • ొࢁɺثցମૢ(தֶɾେֶ)ɺόΠΫɺήʔϜɺଞ • ࠷ۙςϯτധొࢁ͸͡Ί·ͨ͠

Slide 3

Slide 3 text

hagihala ͷ͜Ε·Ͱ • 2012/08 த్ೖࣾ • 2012/09ʙ2016/01 ͸ͯͳϒοΫϚʔΫ୲౰ • αʔόαΠυվળ • Elasticsearch ಋೖࢧԉ • etc… • 2014/??ʙ2016/01 ूӳࣾίϥϘҊ݅ (δϟϯϓϧʔΩʔɺ͋ͨ͠ ͷϠϯάδϟϯϓ) • αʔόγεςϜͷઃܭɾߏஙɾӡ༻ • 2016/02ʙ Mackerel ୲౰ • ଞɺωοτϫʔΫɺαʔόج൫ͳͲ

Slide 4

Slide 4 text

ࠓ೔࿩͢͜ͱ • ϓϩϏδϣχϯάͱ͸ • ϓϩϏδϣχϯάϨΠϠʔͱɺࠓ೔࿩͢෦෼ • ͸ͯͳʹ͓͚ΔϓϩϏδϣχϯά • ͸ͯͳͷαʔό؀ڥ • Chef ӡ༻ • AMIɾOS Πϝʔδͷ࡞੒ʹ͍ͭͯ

Slide 5

Slide 5 text

ϓϩϏδϣχϯάͱ͸ • “ϓϩϏδϣχϯά(Provisioning)ͷຊདྷͷҙຯ͸ɺ௕ཱྀʹ޲ ͚ͯ৯ྉͳͲͷ֬อΛ͢Δ͜ͱͰ͋Δɻ” (Wikipedia ΑΓ) • ొࢁʁ • ࠓ೔࿩͢ͷ͸ʮαʔόϓϩϏδϣχϯάʯ • “ར༻Մೳͳαʔό܈ʢαʔόϑΝʔϜʣ͔ΒαʔόΛબͼ ग़͠ɺద੾ͳιϑτ΢ΣΞʢΦϖϨʔςΟϯάγεςϜɺ σόΠευϥΠόɺϛυϧ΢ΣΞɺΞϓϦέʔγϣϯιϑ τ΢ΣΞʣΛϩʔυ͠ɺγεςϜΛద੾ʹઃఆͨ͠Γɺαʔ όݻ༗ͷઃఆʢIPΞυϨεͳͲʣΛͨ͠Γɺͱ͍ͬͨ࡞ۀ ΛαʔόɾϓϩϏδϣχϯάͱݺͿɻ” (Wikipedia ΑΓ)

Slide 6

Slide 6 text

ϓϩϏδϣχϯάϨΠϠʔ • http://mizzy.org/blog/2013/10/29/1/ • 3ͭͷϨΠϠʔʹ෼͚ͯߟ͑Δ • Orchestration • σϓϩΠɺΫϥελ؅ཧ • Capistrano, Consul ౳ • Configuration • ઃఆ؅ཧ • Chef, Ansible ౳ • Bootstrapping • αʔό (Πϯελϯε) ͷ࡞੒ɺOS Πϯετʔϧ౳ • AWS, OpenStack, kickstart ౳

Slide 7

Slide 7 text

• ࠓճ࿩͢ͷ͸ Bootstrapping ͱ Configuration ͷ ͋ͨΓͰ͢ɻ Orchestration ͷωλ͸͋Γ·ͤΜ • ݫີʹ෼͚ΒΕΔ΋ͷͰ͸ͳ͍ͷͰɺଟগؚ Ή͙Β͍͸͋Δ͔΋ • ࣾ಺తʹ΋σϓϩΠΛؚ·ͳ͍χϡΞϯεͰ࢖ ΘΕΔ͜ͱ͕ଟ͍ؾ͕͢Δ

Slide 8

Slide 8 text

͸ͯͳͷαʔό؀ڥ (2012/08ೖࣾ ౰࣌) • DC (͘͞ΒΠϯλʔωοτͷϋ΢δϯάαʔϏε), Amazon EC2 • DC • ΄΅શαʔϏε͕Քಇ • ৽نௐୡ෼͸طʹࣗ࡞αʔόͰ͸ͳ͘ϕϯμ͔Βߪ ೖ • (աڈʹ͸αʔόᝑମ (ϑϨʔϜ) ͔Βࣗ࡞ͯ͠ ͍ͨ) • ϋΠύʔόΠβ (Xen) Ծ૝Խͯ͠࢖༻ • ಛघͳϋʔυ΢ΣΞߏ੒΍ύϑΥʔϚϯεཁ݅ ͷ΋ͷΛআ͘ • Amazon EC2 • ͸ͯͳϒϩάͷΈ EC2 ্Ͱӡ༻ (ࠓͰݴ͏ EC2 Classic) • ͪΐ͏Ͳ Amazon VPC ΁ͷҠߦ௚લ • τϦοΩʔͳ VPN ઀ଓͰ DC ͱܨ͕͍ͬͯͨ Amazon EC2 VPN VPN VPN VPN ژ౎ΦϑΟε ౦ژΦϑΟε DC (ϋ΢δϯά)

Slide 9

Slide 9 text

͸ͯͳͷαʔό؀ڥ (2016/08ݱࡏ) • DC, Amazon VPC, ͘͞Βͷઐ༻αʔό (New!) • DC • ࣗ࡞αʔό͸΄ͱΜͲୀ໾ࡁΈɺ·ͩҰ෦࢒ Δ • ঃʑʹॖখ • Amazon VPC • ϒϩάΛத৺ʹɺ͍͔ͭ͘ͷαʔϏε΍ɺαʔ ϏεͷαϒγεςϜ͕Քಇ • ઐ༻αʔό • ෺ཧαʔό΍ωοτϫʔΫػثͷબఆɺௐୡ ͔ΒϥοΩϯάɺอक·ͰΛؙʑΞ΢τιʔ ε • ෺ཧαʔό͔Β্͸ DC ͱ͍͍ͩͨಉ͡࢖͍ ํ • ຊ֨తར༻͸͜Ε͔Β Amazon VPC VPN ઐ༻ઢ VPN VPN VPN ژ౎ΦϑΟε ౦ژΦϑΟε DC (ϋ΢δϯά) ઐ༻αʔό

Slide 10

Slide 10 text

ͳͥࠓɺઐ༻αʔό(ͦͯ͠ DC)ʁ • ӡ༻΋ؚΊͨτʔλϧίετ͕҆͘ࡁΉ (Β͍͠) • Ϋϥ΢υ͸(༻్ʹ΋ΑΔ͕)͚ͬ͜͏ߴ͍ • ઐ༻αʔό͸ DC ͱൺ΂ͯɺϥοΫͷిྲྀ΍ۭؒͷ؅ཧɺωοτ ϫʔΫͷઃܭɾߏஙɺނোͨ͠ϋʔυ΢ΣΞͷަ׵ͳͲͷӡ༻Λ Ξ΢τιʔεͰ͖Δ • DC ΍ઐ༻αʔόͰ͸ ioDrive ͷΑ͏ͳಛघͳϋʔυ΢ΣΞ΋࢖ ͑Δ • ࣗ༝౓͸ DC ͕࠷΋ߴ͍ • DC ʹ͍ͭͯ͸ɺଞ΁ͷҠߦΛ೉͘͢͠Δٕज़తͳ໰୊ͷ਺ʑ΋ • ϨΨγʔγεςϜ

Slide 11

Slide 11 text

͸ͯͳͷαʔό؀ڥͷಛ௃ • 10೥Ҏ্ଓ͘αʔϏε΍ɺଟ਺ͷখ͞ͳαʔϏε ͕͋Δ • ৭ʑͳྺ࢙తܦҢ͕٧·͍ͬͯΔ • νʔϜ΍αʔϏε͝ͱʹΠϯϑϥ΍ج൫ɾπʔϧ Λ࢖͍෼͚ͨΓͤͣɺجຊతʹ͸ڞ௨ͷ΋ͷΛ࢖ͬ ͍ͯΔ • ԼͷϨΠϠ͸γεςϜϓϥοτϑΥʔϜ෦͕Ұ ݩ؅ཧ͍ͯ͠Δ • ྫ֎΋͋Δɻ·ͨɺࠓޙมΘΔՄೳੑ΋͋Δ

Slide 12

Slide 12 text

͸ͯͳʹ͓͚ΔϓϩϏδϣχϯ ά(෺ཧ) • ϋʔυ΢ΣΞௐୡ • ϥοΩϯά৔ॴબఆ • ϥοΩϯά: ґཔ͢Δ • OS Πϯετʔϧ (ॳճ͸ґཔ) • PXE ϒʔτ • preseed (debian), kickstart(CentOS) ͰࣗಈΠϯ ετʔϧ • ηοτΞοϓεΫϦϓτ • ϦϞʔτ؅ཧ (IPMI) ઃఆ • Mackerel ΁ͷొ࿥ • Chef ࣮ߦ ઐ༻αʔόͰ͸ෆཁ Amazon VPCͰ͸
 ෆཁ

Slide 13

Slide 13 text

ϓϩϏδϣχϯά (Ծ૝) • Ծ૝Խήετ (Xen domU) • ਌ͷબఆ: ਓ͕ؒ΍ͬͯΔ • ϝϞϦ΍σΟεΫͷۭ͖༰ྔΛ৚݅ʹϑΟϧλϦϯά্ͨ͠ Ͱɺ CPU ΍ I/O ͸֤ dom0 ͷෛՙঢ়گΛݟͯటष͍ํ๏Ͱ൑ அ • OS Πϯετʔϧɾىಈ: εΫϦϓτΛ࣮ߦ • ैདྷ: ຖճ debootstrap ౳Ͱ OS Πϯετʔϧॲཧ͕૸Δ (࣌ؒ ͕͔͔Δ) • ݱࡏ: ͋Β͔͡Ί OS ΠϝʔδΛ࡞੒ͯ͠ϑΝΠϧαʔόʹઃஔ ͓͖ͯ͠ɺ domU ࡞੒࣌ʹίϐʔɾϑΝΠϧγεςϜͷϦαΠ ζ • AMI ʹ฿͏ • ࣗಈͰ Chef ద༻͞ΕΔ Amazon VPCͰ͸
 ෆཁ

Slide 14

Slide 14 text

Chef ӡ༻ • chef-solo ϕʔε • ͨͩ͠ɺ chef-solo ͸ DEPRECATED (ഇࢭ༧ఆ) • Ұ౓ chef-client local mode ϕʔεʹͨ͠ (؆୯) ͕ɺ cookbook ͷґଘؔ܎ ղܾ͕ chef-solo ΑΓ͍ͩͿ஗͔ͬͨͷͰҰ୴໭ͨ͠ܦҢ͕͋Δ • ݱࡏͷ chef-repo ͸2ੈ୅໨(2013/08ʙ) • ϦϙδτϦ໊ chef-repo2 • mainline (ͳ͔ͥϒϥϯν໊͸ staging) + τϐοΫϒϥϯν, GitHub flow • 1ੈ୅໨ (2010೥ʙ) ͸ Chef Server Λ࢖ͬͯͨ • ։ൃ͸ git-flow ϕʔεɺ cookbook ͷόʔδϣϯΛ Chef Server ͱ Environment Λ࢖ͬͯ؅ཧͯͨ͠ • ෳ਺ਓͰ࡞ۀ͢Δͱόʔδϣϯͷিಥ͕ى͜Γ͕ͪ • Chef Server ͕ϒϥοΫϘοΫεͷͨΊՄ༻ੑɾܧଓੑʹෆ҆

Slide 15

Slide 15 text

Chef ӡ༻ • Mackerel ͷ Service:Role Λ Chef ͷ Role ͱ1ର1ରԠ • Chef ʹ͸ Service (Role ͷ֊૚ߏ଄) ͷ֓೦͕ແ͍ͷͰ୯७ʹ ϑϥοτԽͯ͠࢖༻͍ͯ͠Δ • ྫ: Hatena-Bookmark:proxy → role[Hatena-Bookmark— proxy] • roles/Hatena-Bookmark/proxy.rb ͷΑ͏ʹ഑ஔ͠ɺ࢖༻ ͢ΔࡍʹϑϥοτԽ (+json Խ) ͍ͯ͠Δ • ࣗࣾͷ cookbook ͸ chef-repo ʹू໿ɺ Berkshelf Ͱ֎෦ͷ cookbook ΋࢖༻ • ୯७ԽͷͨΊશͯͷ cookbook Λ Berkshelf ͷ؅ཧԼʹஔ͍ͯ ͍Δ

Slide 16

Slide 16 text

knife-saba • ख΋ͱ͔Βͷద༻͸ knife-saba ͱ͍͏ಠࣗπʔ ϧͰߦ͍ͬͯΔ • knife-solo ϕʔε • `knife saba cook <ϗετ໊>` • Mackerel ͔Βϗετͷ Service:Role Λऔಘ ͠ɺରԠ͢Δ Chef Role Λద༻ • ҰԠɺ։ൃ༻ͱ͍͏Ґஔ෇͚

Slide 17

Slide 17 text

ຊ൪؀ڥͰͷ Chef ద༻ • Jenkins Ͱ chef-repo ͷϑΝΠϧ܈Λ tarball ʹݻΊͯϑΝΠϧαʔόʹΞοϓϩʔυ • kitchen tarball ͱݺΜͰΔ • knife-solo ͕ chef-repo ͷϑΝΠϧ܈ Λ kitchen ͱݺΜͰΔͷʹ฿͍ͬͯΔ • ͚Ͳ test-kitchen ͱฆΒΘ͍͠ • Chef ద༻εΫϦϓτʹΑΓར༻͞ΕΔ • Chef ͷߋ৽ • kitchen tarball ͷμ΢ϯϩʔυɾల։ • Mackerel ͔Β Service:Role औಘ • Chef ద༻ push, merge GitHub
 Enterprise webhook ϏϧυɾΞοϓϩʔυ tarball औಘ ϑΝΠϧαʔό αʔό Service:Role
 औಘ Chef ద༻ chef-repo

Slide 18

Slide 18 text

Chef ՝୊ • ֶश͕೉͍͠ • (׳ΕΔ·Ͱ͸) ௚ײతͰͳ͍ڍಈ • ແବʹෳࡶʹͳΓ͍͗ͯ͢Δؾ͕͢Δ • ಛʹ attribute ͷछྨͷଟ͞ͱ͔ • γϯϓϧʹ͢Δಈ͖΋͋Δ͕ɺྑ͍ํ޲ʹసͿ͔Ͳ ͏͔ • cookbook ͷॻ͖ํͷτϨϯυɺػೳͷ੔ཧ • Chef 12.5ʙͷ Custom Resource ͸ಠࣗͷ Resource ͷॻ͖ํΛγϯϓϧʹ͢ΔҰํͰ৽ͨ ͳམͱ݀͠Λ࡞ͬͯͨ • ςετ͕ճ͍ͤͯͳ͍ • ͏ͪͷ໰୊ • Πϯϑϥςετ೉͍͠ • ίʔυΛ Chef Ҏ֎Ͱ࠶ར༻ͮ͠Β͍ • ͦ͏͍͏ॲཧ͸ Chef ͷ֎ʹಀ͕͢΂͖͔ • ผͷπʔϧ࢖͍͍ͨతͳ෩౰ͨΓ͸ײ͡Δ Attribute Precedence

Slide 19

Slide 19 text

AMI, OS Πϝʔδͷ࡞੒ʹ͍ͭ ͯ • (ൃදͰ͸͕࣌ؒ଍Γͣɺলུ͠·ͨ͠) • ೰Έ: AMI ͷϝϯςφϯε໰୊ • ݩʑ AMI ͸طଘͷύϒϦοΫͳ AMI Λϕʔε ʹɺख࡞ۀͰΧελϚΠζͯ͠࡞ΒΕ͍ͯͨ (͸ͣ) • OS ͷΞοϓσʔτʹ௥ਵ͠ͳ͍ͱ௠෗Խͯ͠ ͠·͏ • Xen ༻ͷ OS Πϝʔδʹ͍ͭͯ΋ಉ༷ͷ໰୊

Slide 20

Slide 20 text

Debian ެࣜ AMI Λ௚઀࢖͏ • ͸ͯͳͰ࠷ۙϝΠϯͰ࢖͍ͬͯΔσΟετϦϏϡʔγϣϯ͸ Debian • Debian ʹ͸ެࣜͷ AMI ͕͋Δ • https://wiki.debian.org/Cloud/AmazonEC2Image • cloud-init ͱ͍͏πʔϧ͕͋ΓɺDebian ެࣜ AMI ʹ΋͜Ε͕ೖͬͯ ͍Δ • user-data Ͱ౉ͨ͠ઃఆʹैͬͯىಈ࣌ʹΠϯελϯεΛΧελ ϚΠζͨ͠Γɺ೚ҙͷεΫϦϓτ΍ίϚϯυΛ࣮ߦͰ͖Δπʔϧ • Debian ެࣜ AMI Λ࢖༻͠ɺैདྷ AMI ࡞੒࣌ʹ΍͍ͬͯͨॲཧΛى ಈ࣌ʹ cloud-init Ͱ࣮ߦ͢ΔΑ͏ʹ • ࠷ऴతʹ͸΄΅શͯͷઃఆΛ Chef recipe ʹҠ͠ɺ cloud-init Ͱ Chef Λ࣮ߦͯ͠ηοτΞοϓΛߦ͏Α͏ʹͨ͠

Slide 21

Slide 21 text

͔Ώ͍ॴʹख͕ಧ͔ͳ͍ • ৭ʑ΍͍ͬͯ͘͏ͪʹެࣜ AMI ͩͱݫ͍͠ͱ͜Ζ͕ग़͖ͯͨ • ಠࣗϏϧυͨ͠ΧʔωϧΛ࢖͍͍ͨɺ enhanced networking (SR-IOV) Λ༗ޮʹ͍ͨ͠ • (Debian7 AMI Ͱ͸σϑΥϧτͰ enhanced networking ແޮͩͬͨɻ Debian8 ͸༗ ޮ) • ΠϯελϯεΛىಈ → cloud-init ͷ boothook εΫϦϓτ಺ͰΧʔωϧΞοϓσʔ τɾγϟοτμ΢ϯ → ΠϯελϯεͷఀࢭΛ֬ೝޙ enhanced networking ༗ޮԽ (Πϯελϯε࡞੒࣌΍ΠϯελϯεՔಇத͸ઃఆͰ͖ͳ͍) → ࠶౓ىಈ • → εΫϦϓτ͕ෳࡶԽɺ͔͠΋ηοτΞοϓʹ͕͔͔࣌ؒΔ • Debian7 Ͱ͸ EBS ϘϦϡʔϜ্ʹ௚઀ϑΝΠϧγεςϜΛ࡞͍ͬͯͨͷʹ Debian8 ެࣜ AMI Ͱ͸ύʔςΟγϣϯׂ͕ΒΕ͍ͯΔ • → ϧʔτϘϦϡʔϜͷ֦ு͕ෳࡶʹͳΔ͠ɺطଘͷΠϯελϯεͱӡ༻͕ҟͳ Δͱ΍ΓͮΒ͍ • cloud-init ͸ࣦഊ࣌ͷௐࠪ΍σόοά͕ͮ͠Β͍ɻ͋·ΓτϦοΩʔͳ͜ͱΛ΍Γͨ͘ ͳ͍

Slide 22

Slide 22 text

ެࣜͱ΄΅ಉ͡ AMI Λ࡞Δ • bootstrap-vz (https://github.com/andsens/bootstrap-vz) • Debian ͷެࣜ AMI ࡞੒ʹ࢖ΘΕ͍ͯΔπʔϧ • ࡞੒͢Δ AMI ͷߏ੒Λ yaml ઃఆϑΝΠϧ (manifest) Ͱهड़ • manifest ΛΧελϚΠζ͢Δ͜ͱͰɺެࣜ AMI ͷߏ੒ΛϕʔεʹΧελ ϚΠζͨ͠ AMI Λखܰʹ࡞ΕΔ • AMI Ҏ֎ͷΫϥ΢υ΍ raw σΟεΫΠϝʔδʹ΋ରԠ • Debian ͷϝϯςφʹΑͬͯܧଓతʹϝϯςφϯε͞Ε͍ͯΔ • ॳظ AMI (initial AMI ͱݺͿ) ͸ bootstrap-vz Ͱ࡞Δ͜ͱʹͨ͠ • DC ͷ domU OS Πϝʔδͷ࡞੒ʹ΋ bootstrap-vz Λ࢖༻͠ɺ DC ͱ EC2 Ͱಉ͡ߏ੒ͷΠϝʔδΛ࢖༻ • ͦΕͧΕࣗಈͰ࡞੒͢ΔεΫϦϓτΛॻ͍ͨɻCI πʔϧͰఆظతʹߋ৽… ͱ͍͏ͷ͸·ͩ͜Ε͔Β

Slide 23

Slide 23 text

Chef ద༻ࡁΈ AMI • packer Λ༻͍ɺಛఆͷ AMI Λϕʔεʹ Chef ద༻ࡁΈͷ AMI Λ࡞੒ • packer ઃఆΛੜ੒ͯ͠ packer Λ࣮ߦ͢ΔϥούʔεΫϦ ϓτ • ͸ͯͳͷҰൠϗετʹڞ௨ͷઃఆΛ·ͱΊͨ “base ϩʔϧ” ద ༻ࡁΈͷ AMI Λ࡞ΓɺҰൠͷΠϯελϯε͸͔ͦ͜Βىಈ͢ Δ͜ͱͰηοτΞοϓ࣌ؒΛ୹ॖ • Πϯελϯε࡞੒࣌ʹ΋ Chef Λద༻͢Δ͜ͱͰɺႈ౳ੑΛར ༻ͯ͠ΠϯελϯεͷઃఆΛ࠷৽Խ • chef-repo ͷߋ৽ͷͨͼʹຖճ AMI Λ࡞Γͳ͓͢ͷ͸ඇޮ ཰

Slide 24

Slide 24 text

ݸผϩʔϧͷ AMI ࡞੒ • લทͷ AMI ࡞੒εΫϦϓτͰɺಛఆϩʔϧ༻ʹηοτΞοϓ͞Εͨ AMI (role AMI) ΋࡞੒Ͱ͖Δ • ΰʔϧσϯΠϝʔδతͳ • Πϯελϯε࡞੒࣌ʹϩʔϧΛࢦఆ͢ΔͱɺϚον͢Δ AMI Λ୳ ͠ɺଘࡏ͢Ε͹ͦͷ AMI Λ࢖ͬͯىಈ͢Δ࢓૊Έʹͳ͍ͬͯΔ • ର৅ AMI ͕ແ͚Ε͹ base ʹϑΥʔϧόοΫ • Ͱ΋ɺ·ͩ͋·Γ࢖ΘΕ͍ͯͳ͍ initial AMI bootstrap-vz base AMI packer role AMI
 (app-1) role AMI (app-2) packer

Slide 25

Slide 25 text

՝୊ • CI πʔϧͰܧଓతʹϏϧυ͍ͨ͠ • ։ൃ؀ڥͷҰ෦ (Jenkins Slave) Ͱಋೖ͍ͯ͠Δ • ࡞੒ॲཧΛࣗಈԽͯ͠΋ɺͦͷ࣮ߦ·ͰࣗಈԽ͠ͳ͍ͱ΍͸Γ௠ ෗Խ͢Δ • ͍ͭͷؒʹ͔ಈ͔ͳ͘ͳΔ • ࣗಈͰ΍ΔͨΊʹ͸ඞવతʹ࣭ͷߴ͍ςετ΋ඞཁʹͳΔ • ؅ཧ͢΂͖ AMI ͷछྨ͕૿͑Δͱͦͷϝϯςφϯε΋େมʹͳΔ • ؅ཧ͢Δ࢓૊Έ͕ෆे෼ • DC ΍ઐ༻αʔόʹ΋ಉ༷ͷ࢓૊ΈΛ • ͦ΋ͦ΋࿦: ίϯςφٕज़ͷํΛؤுΔ΂͖ʁ

Slide 26

Slide 26 text

·ͱΊ • αʔόϓϩϏδϣχϯάʹ͍ͭͯ࿩ͨ͠ • ͸ͯͳͷαʔό؀ڥ • Chef ӡ༻ • AMIɾ OS Πϝʔδ࡞੒ • ଞʹ΋͋Δ • ௕͘ଓ͘αʔϏεɺଟ਺ͷখ͞ͳαʔϏε͕͋Δ؀ڥ • ͋·Γେֻ͔ΓʹͳΓա͗ͣɺͳΔ΂͘γϯϓϧͳπʔϧͷ૊Έ߹ ΘͤͰ࣮ݱ͢ΔΑ͏৺͕͚Δ • πʔϧΛΑΓྑͨ͘͠ΓɺͦΕͧΕͷ֓೦Λ͢Γ߹Θͤͯ͏·͘࿈ ܞΛऔΕΔΑ͏ʹ͢Δͷ͸ָ͍͠ • ࠷ۙ͸ CI ͷվળʹ΋ڵຯ͋Δɻ Jenkins Pipeline ͱ͔