青森県新型コロナウイルス感染症対策サイトのデータ更新をCircleCIで自動化!/covid19-aomori-circleci

 青森県新型コロナウイルス感染症対策サイトのデータ更新をCircleCIで自動化!/covid19-aomori-circleci

2020年6月3日
【オンライン】【最強CircleCI利用術編】CircleCI ユーザーコミュニティミートアップ
で発表したスライドです。

57e80b356ed7005ee31e3494cdbfd02c?s=128

Takuya Tachibana

June 03, 2020
Tweet

Transcript

  1. ヘプタゴン ⽴花 拓也 #CircleCIJP 新型コロナウイルス感染症対策サイトの データ更新をCircleCIで⾃動化!

  2. ࣗݾ঺հ ཱՖ ୓໵ (35) @biatunky ੨৿ग़਎ઋ୆ܦ༝੨৿ݝࡏॅ݁ߏઋ୆ ϔϓλΰϯ୅දऔక໾ JAWS-UG౦๺ (ݩ)JAWS-UGશࠃ୅ද AWS

    Summit ι΢ϧ/๺ژ εϐʔΧʔ CircleCIͷษڧձΛ౦๺Ͱ΋΍Γ͍ͨ(౦๺ͰҰॹʹ΍Γ͍ͨํͥͻʂ)
  3. ໊ࣾ גࣜձࣾϔϓλΰϯ IFQUBHPOJOD ཧ೦ إΛ஌Βͳ͍ສਓͷ޾ͤΑΓ΋ ࣗ෼ͨͪͷ਎ۙͳਓΛςΫϊϩδʔͰ޾ͤʹ ୅ද ཱՖ୓໵ ڌ఺ ੨৿ݝࡾ୔ࢢɺٶ৓ݝઋ୆ࢢ

    ૑ۀ ೥݄̓ ࣄۀ Ϋϥ΢υಋೖʹؔ͢ΔίϯαϧςΟϯά Ϋϥ΢υͷߏஙอकӡ༻ Ϋϥ΢υωΠςΟϒͳ։ൃ ձࣾ֓ཁ גࣜձࣾϔϓλΰϯ͸ ϕΨϧλઋ୆ɺγϯτʹτϩΠσϯVV ΛԠԉ͍ͯ͠·͢ɻ
  4. ࢲͨͪͷಇ͖ํ ࣾ಺ͰͷνϟϨϯδ ษڧձɺΠϕϯτ͸ࢀՃඅ͸શֹαϙʔτ ࣾһͷίϛϡχςΟ΁ͷࢀՃߩݙΛαϙʔτ TFMGIBDLUJNF िʹ࣌ؒɺबۀ࣌ؒதʹۀ຿Ҏ֎ͷ޷͖ͳ͜ͱΛ΍Δ  ࣾ֎ͷਓΛೖΕͨࣾ಺ϛʔςΟϯά ࣾ಺৘ใϑϧΦʔϓϯʢ΍ΓͱΓച্څྉʣ ܾࡋ͸ͳ͘શ͕ͯࣗݾࡋྔɹ

    बۀ࣌ؒٳՋܦඅग़ுϑϧϦϞʔτϫʔΫ ਓؒੑ͕ߴ͍খ͞ͳνʔϜͰ͋Ε͹ ׬શίϛϡχςΟܕͷձࣾӡӦ͕Ͱ͖Δ͸ͣ
  5. ஍ݩͷITίϛϡχςΟͰ΋ษڧձΛ։࠵

  6. ஍ݩֶੜΛ஍ݩاۀ͕ࢧԉͯ͠ւ֎Πϕϯτʹ࿈Ε͍ͯ͘ϓϩδΣΫτ

  7. ͦΕ͸3݄23೔໷…

  8. ͜ͷลͷৄ͍͠࿩͸෱Ҫ͞Μͷnoteʹ -> https://note.com/r82/n/n63bb34b83cc9

  9. ౦ژ౎৽ܕίϩφ΢Πϧεײછ঱ରࡦα Πτͷιʔε͕HJUIVCͰެ։͞Ε͍ͯ ͯɺ͜ΕΛϑΥʔΫͯ͠શࠃ֤஍Ͱ৘ใ αΠτ্ཱ͕͕͍ͪͬͯΔ ϑϩϯτΤϯυ͸/VYUKTɺάϥϑ΍ද ͷσʔλ͸+40/Ͱ࣮૷͞Εͨ41" /FUMJGZͰϗεςΟϯά͞Ε͍ͯΔέʔ ε͕ଟ͍ https://stopcovid19.metro.tokyo.lg.jp/

  10. ੨৿ݝ಺Ͱͷײછऀൃද ෱Ҫ͞Μ͕͟Θ͟Θ࢝͠ΊΔ ฐࣾϝϯόʔ͕+0*/։ൃ४උ։࢝ 4/4Ͱ։ൃϝϯόʔΛืΓ࢝ΊΔ ݝ಺*5ؔ܎ऀΛத৺ʹϝϯόʔ͕ἧ͍ɺ໾ׂ෼୲ΛܾΊΔ  ͦͷޙͻͨ͢Β։ൃ  େ࿮͕ग़དྷ্͕Δ 

    ݝிͷํʹ΋֬ೝͯ͠΋Β͍ͭͭඍௐ੔  ϩʔϯνʂʂ  
  11. πʔϧ 4MBDL ίϛϡχέʔγϣϯ  (JU)VC λεΫ؅ཧ  ϩʔϯν·Ͱͷओͳϝϯόʔ ϑϩϯτɿ໊ Πϯϑϥɿ໊

    σβΠϯɿ໊ ϨϏϡʔɿ໊ 1.ɿ໊ ৘ใऩूɿ໊ ݝிͱͷௐ੔໊ ֦ࢄ෦ୂɿͨ͘͞Μ νʔϜ໊"PNPSJ)BDLFST ϩʔϯνޙ͸ೖΕସΘΓཱͪସΘΓͰ ࠷ऴతʹTMBDLʹࢀՃͨ͠ϝϯόʔ͸໊
  12. ϩʔϯν࣌ͷϖʔδ  ೔ʑσʔλΛߋ৽͍ͯ͘͠ ද΍άϥϑɺϖʔδΛ௥Ճ͍ͯͬͨ͠

  13. ͓஌Βͤάϥϑදͷσʔλ͸͜Μͳײ͡ news.json data.json

  14. ϩʔϯν౰ॳͷσʔλߋ৽ ެ։͞ΕΔpdfΛ ໨ࢹνΣοΫ build & deploy dev prod ϨϏϡʔ ख࡞ۀͰJSON࡞੒

    ੨৿ݝαΠτ dev ίʔυ؅ཧ JSON؅ཧ PRͰىಈ non-dev
  15. None
  16. ϩʔϯν౰ॳͷσʔλߋ৽ ެ։͞ΕΔpdfΛ ໨ࢹνΣοΫ build & deploy dev prod ϨϏϡʔ ख࡞ۀͰJSON࡞੒

    ੨৿ݝαΠτ ίʔυ؅ཧ JSON؅ཧ PRͰىಈ non-dev ͭΒ͍ʜ dev
  17. WFS prod ੨৿ݝαΠτ RSS ίϩφؔ࿈ͷRSSͷΈ௨஌ εϓϨουγʔτΛߋ৽ JSONੜ੒ build࣌ʹJSONΛऔಘ PRͰىಈ build

    & deploy ίʔυ؅ཧ dev ϨϏϡʔ non-dev JSON؅ཧ dev
  18. WFS prod ੨৿ݝαΠτ RSS ίϩφؔ࿈ͷRSSͷΈ௨஌ εϓϨουγʔτΛߋ৽ JSONੜ੒ build࣌ʹJSONΛऔಘ PRͰىಈ build

    & deploy ίʔυ؅ཧ dev ϨϏϡʔ non-dev JSON؅ཧ dev
  19. ผͷ$*$%πʔϧΛ୳͢͜ͱʹʜ

  20. ͜͜ͰΑ͏΍͘ొ৔ʂ ແྉ࿮ͷൣғ͕େ͖͔ͬͨ "1*͕෼͔Γ΍͔ͬͨ͢ ࠓޙ֦ு͢Δͱ͖ͷͨΊʹ 

  21. WFS build deploy prod ੨৿ݝαΠτ RSS ίϩφؔ࿈ͷRSSͷΈ௨஌ εϓϨουγʔτΛߋ৽ JSONੜ੒ build࣌ʹJSONΛऔಘ

    APIͰىಈ ίʔυ؅ཧ non-dev JSON؅ཧ εϓϨουγʔτ͑͞ߋ৽͢Ε͹σʔλ͕൓өʂ S3 Lambda
  22. ͞Βʹ੨৿ݝிଆͰײછऀ৘ใΛDTWͰ഑৴ͯ͘͠Εͨʂ ʢͦΕ·Ͱ͸1%'ʣ https://opendata.pref.aomori.lg.jp/dataset/1531.html ͜ΕͰউͭΔ

  23. 'JOBMWFS scheduleͰىಈ build࣌ʹJSON΋ੜ੒ deploy prod ੨৿ݝαΠτ RSS ৽ண৘ใ΋ RSS͔Βࣗಈੜ੒ CSVऔಘ

    ੨৿ݝΦʔϓϯσʔλ ίʔυ؅ཧ JOBΛఆظىಈͤͯ͞ɺ JSON΋CircleCI಺Ͱ Ͱࣗಈੜ੒͢Δߏ੒ʹʂ ਓखΛհͣ͞ʹࣗಈͰ σʔλߋ৽ʂ
  24. 'JOBMWFS ੨৿ݝαΠτ ੨৿ݝΦʔϓϯσʔλ ࠷৽χϡʔεΛදࣔ ࠷৽σʔλΛදࣔ 'JOBMWFS ͜͜·Ͱϲ݄

  25. ໘ࣝͷແ͍ํʑ͔Β΋ଟ͘ͷ*TTVF΍ϓϧϦΫΤετΛ͍͖ͨͩ·ͨ͠ https://github.com/covid19-aomori/

  26. ͳΜͱதͷਓ͔Β΋

  27. ʢ͔ͭͯ͸ʣ౦๺ͷελʔτΞοϓͷελʔܦӦऀ ࢲ ͜ͷޙ࿩͢5BLB͞Μ

  28. None
  29. None
  30. ٸʹθϩʹʜ 

  31. ੨৿ݝ΁ιʔείʔυΛৡ౉͠ ੨৿ݝެࣜͷαΠτ͕Φʔϓϯ IUUQTTUPQDPWJEQSFGBPNPSJMHKQ ݝிͷ୲౰ऀͷํͷ͓ؾݣ͍Ͱ "PNPSJ)BDLFSTͷ໊͕࢒ͬͨ

  32. ஍ݩࢴʹ΋औΓ্͛ΒΕͨ

  33. ݝ஌ࣄ͔Βʂ

  34. ·ͱΊ  ςΫϊϩδʔͱίϛϡχςΟͷྗͰੈͷதΛྑ͘͢Δ͜ͱ͕Ͱ͖Δ͔΋͠Εͳ͍  ίϛϡχςΟͱ࣏ࣗମͷ৽͍ؔ͠܎ͷҰาʹͳ͔ͬͨ΋  $JSDMF$*࠷ߴʂ