Slide 1

Slide 1 text

CircleCI Orbs ʹίϯτϦϏϡʔτͨ͠࿩ ӫ໺઒ ௚ే(@enkw_) 2019.12.11

Slide 2

Slide 2 text

ࣗݾ঺հ ‘ ӫ໺઒ ௚ేʢ͑ͷ͔Θ ͳ͓ͱʣ ‘ ΞΠϨοτגࣜձࣾ ΠϯϑϥΤϯδχΞ ‘ Japan APN Ambassador બग़ ‘ Twitter: @enkw_

Slide 3

Slide 3 text

ΞΠϨοτגࣜձࣾ ઃཱ ࢿຊۚ ୅දऀ ैۀһ਺ 2003೥10݄15೔ 7,000ສԁ ᜊ౻ কฏ 513໊ʢ2019೥10݄຤࣌఺ʣ

Slide 4

Slide 4 text

9೥ؒAWSͷΈͰӡ༻อक 4 ࣾ ࣾ௒ ϓϩδΣΫ τ௒ 1200 2500 9೥ؒ 9000 ୆ӡ༻

Slide 5

Slide 5 text

෱རްੜ ͦͷ̍ ‘ ۙྡॅ୐ख౰ʢձ͔ࣾΒ1kmҎ಺ʹॅΜͩΒ࠷େ5ສԁ΋ิॿ͕ʂʣ • ދϊ໳Ҏ֎͸1kmݍ಺Ͱ΋3ສʹͳΓ·͢ ‘ ۙྡॅ୐ख౰஍Ҭ΁ͷҾӽ͠අ༻ิॿʢ࠷େ15ສࢧڅʣ ‘ ԕڑ཭௨ۈख౰ʢ௨ۈʹ1.5࣌ؒҎ্͔͔Δਓ޲͚ʣ ‘ άϦʔϯंख౰ʢ௨ۈʹ1࣌ؒҎ্͔͔Γɺۀ຿͕๩͍͠ਓ޲͚ʣ ‘ ݈߁ҡ࣋ͷҝͷεϙʔπࢧԉ • ࣾһ4ਓҎ্͕ू·ͬͯεϙʔπΛ͢Δࢪઃར༻ྉ൒ֹิॿʢ1ਓ্ݶ5,000ԁʣΛิॿ ‘ εϙʔπେձࢀՃิॿ • ࣾһ͕εϙʔπେձʹࢀՃ͢Δ৔߹ɺͦͷࢀՃඅͷ൒ֹʢ্ݶ 1ճʹ͖ͭ1ສԁʣΛิॿ ‘ ձࣾՃೖIT݈อͷεϙʔπδϜར༻Մ
 ʢίφϛεϙʔπΫϥϒɺηϯτϥϧεϙʔπɺ΁Δ͢ͽ͋ʣ ‘ ؔ౦ITιϑτ΢ΣΞ݈߁อݥ૊߹

Slide 6

Slide 6 text

෱རްੜ ͦͷ̎ ‘ ֤छࢿ֨ࢧԉ༗ΓʢAWSೝఆࢼݧͳͲશֹෛ୲ʣ ‘ ࢈ٳɾҭٳ੍౓͋Γ ‘ ැཆՈ଒ख౰ʢැཆՈ଒͕૿͖͑ͯͨΒॿ͔Δʂʣ ‘ γϑτۈ຿ख౰ʢ24/365ӡ༻ͷMSPνʔϜ޲͚ʣ ‘ Ϛοαʔδɾ᭥ɾΧΠϩϓϥΫςΟοΫ
 ʢ݄ɾۚʹϓϩͷࢪज़͕ΦϑΟεͰड͚ΒΕ·͢ʣ ‘ 10࣌ग़ۈख౰ʢ10࣌લʹग़ࣾ͢Δͱຖ೔1,000ԁͰ·͢ʂʣ ‘ ໾৬ऀϦϑϨογϡٳՋ੍౓

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

͜ͷ͓࿩Ͱ͢ https://enokawa.hatenablog.jp/entry/2019/10/07/222424

Slide 9

Slide 9 text

CircleCI Orbs

Slide 10

Slide 10 text

https://circleci.com/docs/2.0/orb-intro/

Slide 11

Slide 11 text

CircleCI Orbs ‘ jobs ΍ command ܈Λύοέʔδͨ͠΋ͷ ‘ ಠࣗ Orb ͷެ։΋Մೳ ‘ .circleci/config.yml ͕εοΩϦ

Slide 12

Slide 12 text

CircleCI Orbs ͷ஫ҙ఺ ‘ Uncertified Orbs Λར༻͢Δࡍ͸ Security Settings ͔Β ࢖༻ΛڐՄ͢Δඞཁ͕͋Δ ‘ Organization ୯ҐͰͷڐՄ ‘ 2019/12/10 ݱࡏ Uncertified Orbs ΛҰ౓ Publish ͢Δͱ ࡟আෆՄ ‘ CircleCI Support ʹґཔ͢Δ͜ͱͰ࡟আՄೳ https://circleci.com/docs/2.0/creating-orbs/

Slide 13

Slide 13 text

Orb Security Settings

Slide 14

Slide 14 text

ίϯτϦϏϡʔτલͷ͓࿩

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

͜ΕΛ࣮ݱ͔ͨͬͨ͠

Slide 17

Slide 17 text

ίϯτϦϏϡʔτલͷ͓࿩ ‘ CircleCI ͔Β CodeDeploy Ͱ Blue/Green Deployment ͍ͨ͠ ‘ ݕ౼ஈ֊ͷλΠϛϯάͰ͸ Rolling Update ‘ kayac/ecspresso ΋ Blue/Green Deployment ඇରԠʢͩͬͨʣ ‘ 2019/10/15 ʹαϙʔτ ‘ Ҏલ͔Β CircleCI-Public/aws-ecs-orb Λར༻͍ͯͨ͜͠ͱ΋͋ Γɺ·ͣ͸ Issue Λग़ͯ͠ΈΔ͜ͱʹ https://github.com/kayac/ecspresso/pull/47

Slide 18

Slide 18 text

https://github.com/CircleCI-Public/aws-ecs-orb/pull/34

Slide 19

Slide 19 text

͙͢͸ରԠͯ͘͠Εͳͦ͞͏ͳؾ͕ͨ͠ͷͰPRΛग़͢͜ͱΛܾҙ

Slide 20

Slide 20 text

ίʔσΟϯάظ

Slide 21

Slide 21 text

ίʔσΟϯάظ ‘ ͱ͍ͬͯ΋ॻ͘ͷ͸ YAML ͱ؆୯ͳ Shell ‘ JavaScript ͷ Templete Engine Ͱ͋Δ Handlebars ϑΝΠϧΛฤू ‘ ֤ Parameter ͷ Description ΋ॻ͘ඞཁ͕͋ΔͨΊӳޠ͕Μ͹Δ ‘ ECS ΍ CodeDeploy ͷ API ʹؔ͢Δཧղ͕ਂ·Δ ‘ API Reference ΛಡΈࠐΉͨΊ

Slide 22

Slide 22 text

։ൃͷྲྀΕ 1. src/orb.yml.hbs Λฤू 2. build_orb.sh Ͱ src/orb.yml Λੜ੒ 3. circleci orb validate src/orb.yml Ͱ Validate 4. ݸਓ Orbs ʹ publish 5. ಈ࡞֬ೝʢˠͷਤ௨Γʹ͍͔֬͘ೝ ͷ܁Γฦ͠

Slide 23

Slide 23 text

͍ͭʹͦͷ͕࣌

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

ͦͷޙ

Slide 27

Slide 27 text

ͦͷޙ ‘ ๭ϓϩδΣΫτͰ໰୊ͳ͘Քಇத ‘ ࣗ෼͕ίϯτϦϏϡʔτͨ͠ OSS ͕׆༻͞Ε͍ͯΔͬͯŘŘ ‘ PR Merge ޙ΋ͪΐͪ͘ΐ͘ϨϙδτϦΛνΣοΫ͢ΔΑ͏ʹ ‘ Ѫண͕༙͘ ‘ kayac/ecspresso ͷ࣮૷΋ಡΜͰΈͨΓ

Slide 28

Slide 28 text

·ͱΊ

Slide 29

Slide 29 text

·ͱΊ ‘ OSS Λ࢖͏਎ͳΒ OSS ʹίϯτϦϏϡʔτ͠Α͏ ‘ ͍ͭ΋ͷԸฦ͠ͱ͍͏ҙຯͰ ‘ ཉ͍͠ػೳ͕͋Ε͹ PR ग़ͦ͏/ࣗ෼Ͱ࡞Ζ͏ ‘ ϗϯτʹνϟϨϯδͯ͠Α͔ͬͨ ‘ ͍ͭ΋ʮαϙʔτ͍ͯ͠ͳ͍͔Β...ʯͱಀ͕͛ͪͩͬͨ ‘ ӳޠϜζ͍ ‘ ͚ͲͰ͖ͳ͍ͱ౔ඨʹ͢Βཱͯͳ͍͔Β΍Δ

Slide 30

Slide 30 text

Q&A

Slide 31

Slide 31 text

CircleCI Orbs ʹίϯτϦϏϡʔτͨ͠࿩ ӫ໺઒ ௚ే(@enkw_) 2019.12.11