Heroku Meetup #26 "Heroku Unite!" https://herokujp.doorkeeper.jp/events/96641
1SJWBUF4QBDFTͱ$PNNPO3VOUJNFΛࠞࡏͰӡ༻͍ͯ͠ΔԼॏതࢿ(.01FQBCP *OD)FSPLV.FFUVQ࣮ફ)FSPLV&OUFSQSJTF
View Slide
8FCΞϓϦέʔγϣϯΤϯδχΞԼॏതࢿ!TIJNPKV@(.0ϖύϘגࣜձࣾ46;63*ࣄۀ෦TIJNPKVPSH
ࢲͱ)FSPLV
ࢲͱ)FSPLVwݸਓαʔϏεͰ)FSPLVΛར༻ͯͨ͠Γw8PSE1SFTTΛ)FSPLVͰಈ͔ͨ͢ΊʹؤுͬͯͨΓwIUUQTHJUIVCDPNTIJNPKVXPSEQSFTTIFSPLVw46;63*ଐ͞ΕɺۀͰຊ֨తʹ͍࢝ΊΔ
ࢲͱ)FSPLVw)FSPLVͱ'BDUPS"QQʹ͍ͭͯϒϩάΛॻ͍ͨwIUUQTTIJNPKVPSHUXFMWFGBDUPSBQQPOIFSPLVwͦͨ͠Β8FCJOBSʹొஃ͢Δ͜ͱʹͳͬͨwIUUQTEFWFMPQFSTBMFTGPSDFDPNFWFOUTXFCJOBSTIFSPLV@DBTF@KQwIUUQTXXXTMJEFTIBSFOFU%FWFMPQFS'PSDF+BQBOHNPIFSPLV
ࢲͱ)FSPLVɾ&OUFSQSJTF"DDPVOUTͷϑΟʔυόοΫίϝϯτ͕ܝࡌ͞ΕͨɾIUUQTCMPHIFSPLVDPNFOUFSQSJTFBDDPVOUT
˞ӳޠࣗͰॻ͍͍ͯ·ͤΜʢ༁ͯ͠Β͍·ͨ͠ʣ
)FSPLVͰՔಇ͍ͯ͠Δ(.0ϖύϘͷαʔϏε
46;63*TV[VSJKQɾը૾ΛΞοϓϩʔυ͢Δ͚ͩͰ5γϟπͳͲͷΦϦδφϧάοζΛ࡞ɾൢചͰ͖Δ
46;63*ͱ)FSPLVwͷαʔϏε։࢝ॳ͔Β)FSPLVͰӡ༻w)FSPLV&OUFSQSJTFΛܖ͠ɺ݄ʹ1SJWBUF4QBDFTҠߦw౦ژϦʔδϣϯʹҠ͢͜ͱͰࠃ͔ΒͷΞΫηεͷߴԽΛਤͬͨ
$BOWBUIDBOWBUIKQɾΦϦδφϧάοζ࡞αʔϏεɾҰൠൢചػೳͳ͘ɺଞॴͰग़ͯ͠จ͕དྷͨΒ$BOWBUIͰൃ͓ͯ͠ಧ͚͢Δํࣜ
$BOWBUIͱ)FSPLVwʹଞ͔ࣾΒৡΓड͚ͨαʔϏεw"84ͰՔಇ͍͕ͯͨ͠ɺಉ݄ʹ)FSPLVʹҠઃw46;63*ͱ౷Ұతͳӡ༻͕Ͱ͖ͯΠϯϑϥཧίετΛݮwͪ͜Β$PNNPO3VOUJNFͰͷӡ༻
46;63*1FPQMFQFPQMFTV[VSJKQɾΫϦΤΠλʔΛࢧԉͰ͖ΔϑΝϯΫϥϒΛ࡞ΕΔαʔϏεɾϑϩϯτ/VYUɺόοΫ3BJMTɾͪ͜Β$PNNPO3VOUJNF
ΧϥʔϛʔϦϐʔτDPMPSNFSFQFBUKQɾ৯ɾফͳͲͷఆظ͓ಧ͚ํࣜͷ௨ൢΛ࢝ΊΒΕΔαʔϏεɾͪ͜Βผ෦ॺ͕ӡӦ
$PNNPO3VOUJNFͱ1SJWBUF4QBDFTʹ·͕ͨͬͯෳͷαʔϏεΛӡ༻͍ͯ͠Δ
)FSPLV&OUFSQSJTF1SJWBUF4QBDFT
ͦͦͳͥ)FSPLV͔wεϞʔϧνʔϜɺεϞʔϧελʔτwϚωʔδυͳ%#ɺϩάཧɺϝʔϧͳͲΛ؆୯ʹՃͰ͖Δ๛ͳ"EEPO͕ἧ͍ͬͯΔwαʔϏεͷ߹͍ʹԠͯ͡εέʔϧՄೳwΞϓϦ։ൃʹूதͰ͖Δ
ͳͥ)FSPLV&OUFSQSJTF͔w)FSPLVͷੜ࢈ੑΛอͬͨ··ɺ౦ژϦʔδϣϯʹஔ͘͜ͱʹΑΔαΠτͷߴԽɺߴͳࠪػೳɺຊޠαϙʔτͳͲ͕͑ΔwΞϓϦΤϯδχΞ͚ͩͰػಈతʹ։ൃͰ͖Δମ੍
46;63*ͰͷΈར༻w&$αΠτεϐʔυ໋͕w͓ۚΛ͔͚Ε͘Ͱ͖Δ෦͍ͨ͘͠wٯʹɺΤϯυϢʔβʔ͕ΞΫηε͠ͳ͍$BOWBUIΞΫηε͕ٸܹʹ૿͑Δ͜ͱ͋·Γͳ͍w·ͩن͕খ͔ͬͨ͞Γɺ૬ରతʹ͕ॏཁͰͳ͍ͷ$PNNPO3VOUJNF
1SPTw1SJWBUF4QBDFTͰ౦ژϦʔδϣϯ͕͑Δw࠷େͷརwݻఆ*1Β͑Δw*1੍ݶͷ͋Δ֎෦αʔϏεΛ"EEPOͳ͠Ͱ͑Δw4".-ೝূ͕͑Δ
$POTw%ZOPͷىಈ͕͍w3PMMJOH%FQMPZʹ·ͭΘΔw)FSPLV௨ৗ൛ͷ5FBNΛطʹ͍ͬͯΔ߹ɺΞΧϯτΓସ͑ͷඞཁ͕ੜ͡Δ
%ZOPͷىಈ͕͍w%ZOPڞ༗Ͱͳ͘ಠཱ͍ͯ͠ΔͷͰɺ෦Ͱ&$Πϯελϯε͕৽نʹ্ཱ͕͍ͪͬͯΔw3FMFBTF1IBTFIFSPLVSVOͰͷ0OF0⒎%ZOPͷىಈ͍ͷͰͪΐͬͱετϨε
3PMMJOH%FQMPZʹ·ͭΘΔw1SJWBUF4QBDFTͷ%ZOP3PMMJOH%FQMPZ͞ΕΔw৽چ%ZOP͕ฒߦՔಈͯ͠ঃʑʹσϓϩΠ͞ΕΔwσϓϩΠ࣌ͷμϯλΠϜΛݮΒͤΔw$PNNPO3VOUJNFʹ͓͚Δ1SFCPPUͱಉ͕ͩ͡ɺ1SJWBUF4QBDFTͰΦϑʹͰ͖ͳ͍ͷͰҙ͕ඞཁ
3PMMJOH%FQMPZʹ·ͭΘΔw$44+4ͷΞΫηε͕چ%ZOPʹϧʔςΟϯά͞ΕΔͱʹͳΓɺͦΕ͕$%/ʹΩϟογϡ͞ΕɺσϓϩΠޙؒਅͬനͳ8FCαΠτʹͳͬͯ͠·͏w$%/ͷΤϥʔΩϟογϡΛ͘͘͢͝Δͷ͋·Γͨ͘͠ͳ͍͠ɺͨ͠ͱͯ͠3PMMJOH%FQMPZ͕ऴΘΔ·Ͱ࠶ൃ͠͏Δ
3PMMJOH%FQMPZʹ·ͭΘΔwTUBHJOHQSPEVDUJPOͰಉ͡$%/ΛͬͯղܾwTUBHJOHΞΫηε࣌ɺ$%/ʹΩϟογϡ͕Ͱ͖ΔwBTTFUͷpOHFSQSJOUΛ྆ऀͰಉ͡ʹ͢Δඞཁ͕͋ΔwTUBHJOHͱຊ൪Ͱ༰Λม͑ͳ͍Α͏ʹҙ͢Δwྫʣ4BTTͷSBOEPNؔɺ+4ͷϏϧυઃఆ
&OUFSQSJTF"DDPVOUT
&OUFSQSJTF"DDPVOUTwෳͷ&OUFSQSJTF5FBN͓Αͼ)FSPLV௨ৗ൛ͷ5FBNʹ·͕ͨͬͯॴଐͰ͖ΔwΞΧϯτͷΓସ͕͑ෆཁʹͳΔw&OUFSQSJTFͷΞΧϯτ͚ͩͰͯ͢ΛཧͰ͖Δwݖݶཧɺࠪػೳ͕ڧԽ͞Ε͍ͯΔʢΒ͍͠ʣwIUUQTEFWDFOUFSIFSPLVDPNDBUFHPSJFTFOUFSQSJTFBDDPVOUT
ΞΧϯτΓସ͑w͜Ε·Ͱ)FSPLV$-*ͷϓϥάΠϯΛ͍ͬͯͨwIUUQTHJUIVCDPNIFSPLVIFSPLVBDDPVOUTw&OUFSQSJTF"DDPVOUTͰෆཁʹͳͬͨʂ
)FSPLVͰͰ͖ΔηΩϡϦςΟରࡦ
ηΩϡϦςΟରࡦwϓϥοτϑΥʔϜʹؔͯ͠)FSPLV͕୲͍ͯ͠Δw4UBDLJNBHFͷηΩϡϦςΟΞοϓσʔτͳͲwͳͷͰͪ͜Β͕ΔͷΞϓϦέʔγϣϯͷηΩϡϦςΟରࡦ
8FC"QQMJDBUJPO'JSFXBMMw"EEPOͷ4RSFFOΛ͍ͬͯΔwIUUQTFMFNFOUTIFSPLVDPNBEEPOTTRSFFOw߈ܸͷࢼߦΛݕͯ͠ϒϩοΫw੬ऑੑ͕ൃݟ͞Εͨґଘύοέʔδͷ௨wϩάΠϯτϥοΩϯάͳͲͷػೳ͕͋Δ
%#ͷΫΤϦϩάऔಘw%#ͷΫΤϦϩάΛऔಘ͠ɺ߈ܸ͞ΕͨࡍͷӨڹൣғΛಛఆ͘͢͢͠Δw)FSPLV1PTUHSFTͰ͋ΕίϚϯυͰઃఆՄೳw IUUQTEFWDFOUFSIFSPLVDPNBSUJDMFTIFSPLVQPTUHSFTTFUUJOHTMPHTUBUFNFOUwΞϓϦέʔγϣϯϩάͱҰॹʹग़ͯ͘ΔͷͰɺ1BQFSUSBJMͳͲΛ༻͍ͯ4ʹอଘ͢ΕΑ͍
)FSPLV&OUFSQSJTFࠪػೳw·ͩ׆༻Ͱ͖͍ͯͳ͍͕ͪΐͬͱࢼͨ͠wheroku plugins:install @heroku-cli/plugin-enterpriseͰΠϯετʔϧwheroku enterprise:audits:export 2019-09ͳͲͱΔͱΞΫςΟϏςΟϩά͕+40/Ͱग़ྗ͞ΕΔ
·ͱΊ
·ͱΊwαʔϏεͷنɺಛੑʹԠͯ͡$PNNPO3VOUJNFͱ1SJWBUF4QBDFTͷ྆ํΛ׆༻͍ͯ͠Δw)FSPLVҎ֎͍͚͓ͯΓɺ46;63*ͷը૾߹αʔόͰϓϥΠϕʔτΫϥυ͓Αͼ(,&Λར༻w&OUFSQSJTF"DDPVOUTศརͰ͢Ͷ