2019/6/28 (金)に開催された KYOTO.git での LT のスライドです。
TileCloud ͷ։ൃΛࢧ͑Δٕज़2019/06/[email protected] kamata, ryo
View Slide
TileCloud ͱʁ• ਤϗεςΟϯάαʔϏε• ΣϒαΠτΞϓϦʹΈࠐΜͰར༻Ͱ͖·͢• ਤͷλΠϧͱͦΕΛѻ͏ͨΊͷ JavaScript API Λఏڙ͍ͯ͠·͢• Φʔϓϯϕʔλʹ͚ͯ࡞ۀத
ਤͷλΠϧͱʁ• ϥελʔλΠϧ: 256 px ࢛ํͷը૾ϑΝΠϧෑ͖٧ΊͯਤΛදࣔhttps://www.openstreetmap.org/copyrightOpenStreetMap Contributors
ਤͷλΠϧͱʁ• ϕΫτϧλΠϧ: JSON ܗࣜͷͷू·ΓΛόΠφϦʹϑΥʔϚοτͨ͠ͷ• ΫϥΠΞϯταΠυʢϒϥβʣͰWebGL ΛͬͯਤΛϨϯμϦϯά• ϓϩύςΟΛઃఆͯ͠ΫϥΠΞϯτͰσβΠϯมߋ͕Մೳ ʢ3D දࣔͳͲʣ• ๛͔ͳදݱྗ• σʔλ͕ܰྔ
TileCloud Λࢼ͢
TileCloud Λࢼ͢• ެࣜυΩϡϝϯτΛެ։தʂ https://docs.tilecloud.io• Embed API ͱ͍͏ JavaScript API ެ։͍ͯ͠·͢• HTML Λهड़͢Δ͚ͩͰਤΛදࣔɾΧελϚΠζͰ͖·͢• playground (https://playcode.io/290651) Ͱ؆୯ʹࢼ͢͜ͱͰ͖·͢
TileCloudͷ Πϯϑϥߏɾ։ൃڥ
Serverless• λΠϧ CloudFront + [email protected] + S3• Embed API (JavaScript API) API Gateway + Lambda + DynamoDB• μογϡϘʔυ Cognito + API Gateway + Lambda + DynamoDB
GitHub• ϦϙδτϦϗεςΟϯά• CI αʔϏεͱͷ࿈ܞʢCircle CIɺ NetlifyʣNetlifyɾGitHub Pages• σϞαΠτɺμογϡϘʔυɺ੩తϦιʔεͷϗεςΟϯά
Circle CI• ίϛοτͷϓογϡʹԠͯࣗ͡ಈςετΛ࣮ߦ• Scheduled job Λ͍ɺ e2e ςετʢEnd to End ςετʣΛఆظ࣮ߦ ʢ"ಥવյΕ͍ͯΔ" ঢ়گΛݕग़ʣ
Circle CI• CD (Continuous Deployment)• Git λά͕ϓογϡ͞Εͨ࣌ຊ൪ڥʹσϓϩΠ• master ϒϥϯνͷίϛοτ͕ϓογϡ͞Εͨͱ͖։ൃڥʹσϓϩΠ• ͦͷଞͷίϛοτςετͷΈΛ࣮ߦ
Circle CI• Circle CI ͷ Workflow Λ׆༻• ఆٛͨ͠ෳͷ job ͷ࣮ߦॱΛ੍ޚ• ෳࡶͳϏϧυͰɺCI ͷ࣮ߦ࣌ؒͷංେΛ͙workflows:version: 2build:jobs:- test:filters:tags:only: /.*/branches:only: /.*/- deploy:requires:- buildfilters:tags:only: /.*/branches:only: master
Φʔτϝʔγϣϯ• GitHub ͱ֤छαʔϏε (CIɾNetlify ͳͲ) ͱͷΠϯςάϨʔγϣϯΛ׆༻• σϓϩΠɾςετͳͲͷ։ൃఔΛըҰԽ• CI Λ͍ਝͳϑΟʔυόοΫΛಘΔ• ΠϯϑϥߏͷࣗಈԽ• Serverless & CloudFormation༷ʑͳϨΠϠʔͰࣗಈԽΛࢪ͠ɺଐਓԽΛ͙