9.1K Views
November 25, 22
スライド概要
※2021/08/28 に slideshare にアップロードしていた資料の再アップロード版です
https://event.ospn.jp/odc2021-online/
『Open Developers Conference 2021 Online 』の発表資料です。
オートスケールする GitHub Actions セルフホストランナーを構築&運用した知見をまとめました。
Φʔτεέʔϧ͢Δ(JU)VC"DUJPOT ηϧϑϗετϥϯφʔΛߏஙͨ͠ 0QFO%FWFMPQFST$POGFSFODF0OMJOF ాٶ३ฏ !NJZBKBO
ࣗݾհ ాٶ३ฏ !NJZBKBO αΠϘζੜ࢈ੑ্νʔϜ
എܠ
αΠϘζͷ։ൃج൫ ΦϯϓϨͱΫϥυ͕ࠞࡏ ࣾωοτϫʔΫ͔Β͔͠ΞΫηεͰ͖ͳ͍γεςϜ͕͋Δ
ΦϯϓϨ Ϋϥυ GitHub Enterprise Server GitHub Enterprise Cloud Jenkins, CircleCI Server CircleCI Cloud ͔ࣾΒ͔͠ ΞΫηεͰ͖ͳ͍γεςϜ AWS, GCP ͳͲ
(JU)VC"DUJPOT͍͍ͨ (JU)VC͕ఏ͢ڙΔ$*$%αʔϏε (JU)VCͰͯ݁͠ϫʔΫϑϩʔΛΊΔ
՝ ΦϯϓϨʹґଘ͢Δ։ൃͰ(JU)VC"DUJPOT͕ར༻Ͱ͖ͳ͍ (JU)VC͕ఏ͢ڙΔϥϯφʔ্͔Β ΦϯϓϨωοτϫʔΫʹΞΫηεͰ͖ͳ͍ͷͰ ࣾγεςϜ (JU)VC"DUJPOT ࣾ։ൃωοτϫʔΫ HJUIVCDPN
ηϧϑϗετϥϯφʔ (JU)VC"DUJPOTͰఏ͞ڙΕ͍ͯΔػೳ ϓϥΠϕʔτωοτϫʔΫʹࣗલͰϥϯφʔΛߏஙՄೳ ࣾγεςϜ ηϧϑϗετϥϯφʔ ࣾ։ൃωοτϫʔΫ (JU)VC"DUJPOT HJUIVCDPN
ࣾωοτϫʔΫࣄ "84ͱࣾ։ൃωοτϫʔΫΛ71/ଓͯ͠Δ ͜͜ͰηϧϑϗετϥϯφʔΛߏங͢Δ 71/ ࣾγεςϜ ࣾ։ൃωοτϫʔΫ 5SBOTJU(BUFXBZ "84 1SJWBUF71$
͚ͩͲʜ ϥϯφʔͷ͕૿͑Δͱཧ͕େมʹͳΓͦ͏😥 ཧΛͰ͖Δ͚ͩࣗಈԽ͍ͨ͠ ྉ͕ۚߴ͘ͳΓͦ͏💰 ΘΕ͍ͯͳ͍ϥϯφʔࣗಈͰআ͞Εͯ΄͍͠ ϥϯφʔ͕Γͳ͍ͱϏϧυ͕ͪ࣌ؒൃੜͦ͠͏😩 ඞཁͳͷϥϯφʔࣗಈͰىಈͯ͠΄͍͠
࣮ͱ͍ͨ͜͠ݱ ϫʔΫϑϩʔͷ࣮ߦʹ߹ΘͤͯΦʔτεέʔϧ͢Δ ηϧϑϗετϥϯφʔϓʔϧ
ͬͨ͜ͱ
"84Ͱͷ࣮ํݱ๏ IUUQTHJUIVCDPNQIJMJQTMBCTUFSSBGPSNBXTHJUIVCSVOOFS
Έ (JU)VC"QQΛ࡞ͯ͠Πϯετʔϧ δϣϒ࣮ߦ࣌ʹXFCIPPLܦ༝ͰϥϯφʔΛىಈ ఆظతʹΘΕ͍ͯͳ͍ϥϯφʔΛআ XFCIPPL (JU)VC ىಈ "1*(BUFXBZ -BNCEB আ &$ ఆߦ࣮ظ -BNCEB $MPVE8BUDI &WFOUT
ϥϯφʔ༻".* ެࣜͷϥϯφʔ044͚ͩͲ".*ఏ͞ڙΕ͍ͯͳ͍ IUUQTHJUIVCDPNBDUJPOTSVOOFS 1BDLFSͰ࡞͞Ε͍ͯΔ গ͠खΛՃ͑Ε".*Λ࡞Մೳ ͔͠͠ɺͦͷ··ͩͱαΠζ͕Ͱ͔͗ͯ͢ਏ͍ ࣗલͰ࠷খͷπʔϧ͚ͩೖͬͨ".*Λ1BDLFSͰ࡞
".*ͷఆࣗظಈߋ৽ ".*ʹೖ͍ͬͯΔπʔϧ͕·ͯͬ͠ͳ͘ݹΘͳ͍Α͏ʹ ຖिࣗಈͰϏϧυˍσϓϩΠ
ϞχλϦϯά ఆظతʹϝτϦΫεΛऩूͯ͠ҟৗΛݕ͢Δ FHϥϯφʔ͕ಉ࣌ʹىಈ͍ͯ͠Δ͕ଟ͗͢Δ $MPVE8BUDI &WFOUT -BNCEB 4MBDL
࣮ࡍʹӡ༻ͯ͠Θ͔ͬͨਏ͍ ಉ͡ϥϯφʔ͕ෳճ͍ճ͞ΕΔ ϫʔΫεϖʔε͕ԚΕͨ··ʹͳΔͷͰɺ δϣϒଆͰΫϦʔϯΞοϓ͕ඞཁ ϥϯφʔΛ͍ճͣ͞ʹ͍ࣺͯʹ͢ΔઃఆΛࢼͯ͠Έͨ ಛఆͷঢ়ͰگΤϥʔ BDUJPOTSVOOFS ͍ͬͨΜ͜ͷઃఆૹݟΓ
IUUQTHJUIVCDPNHJUIVCFWFOUT+BQBO.FFUVQEJTDVTTJPOT
(JU)VC&OUFSQSJTF4FSWFSରԠ ΄ͱΜͲखΛೖΕͣʹಉ͡ΈΛ͍ճͤͨ👍 BDUJPOTDBDIF͕͑ͳ͍ͱ͍͏੍͕͋ݶΔ🥲
BXFTPNFSVOOFST IUUQTHJUIVCDPNKPOJDPBXFTPNFSVOOFST ηϧϑϗετϥϯφʔͷιϦϡʔγϣϯ·ͱΊ ػೳൺֱද͕͍͍͡ײ Ұ௨ΓߏஙʹޙͬͨͷͰɺͬͱૣ͘Γ͔ͨͬͨ😇
·ͱΊ ΦϯϓϨʹґଘ͢Δ։ൃͰ(JU)VC"DUJPOTΛར༻Մೳʹ Φʔτεέʔϧ͢ΔͷͰཧίετ͓ۚ͑ΒΕͨ ͱ͍͑ΈͷߏஙʹͦΕͳΓʹ͕͔͔͍࣌ؒͬͯΔ ηϧϑϗετϥϯφʔͷιϦϡʔγϣϯ ͍Ζ͍Ζ͋Δ͚Ͳ·ͩϕετϓϥΫςΟεײͳ͍ (JU)VCଆͷվળ͕΄͍͠෦͋ΔͷͰࠓޙظ🙏