Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
CircleCI Orbs にコントリビュートした話 / Story contributed...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Naoto Enokawa
December 11, 2019
Technology
720
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CircleCI Orbs にコントリビュートした話 / Story contributed to CircleCI Orbs
https://circleci.connpass.com/event/154878/
Naoto Enokawa
December 11, 2019
More Decks by Naoto Enokawa
See All by Naoto Enokawa
AWS re:Invent 2017行ってきました報告 / JAWS-UG Okinawa 20180106
enokawa
1
340
Roadworkerではじめる大量DNS移行 / Codenize Meetup
enokawa
0
3.5k
AWS構築のハマりポイントを詳しく解説 / Cloud on the BEACH 2016
enokawa
3
1.5k
JAWS DAYS 2016 ランチセッション
enokawa
0
650
AWS初心者がCodenize.toolsでInfrastructure as Codeした話/jawsug-beginner2-lt
enokawa
0
860
AWS SDK for RubyでDynamoDBを操作してみた
enokawa
0
350
cloudpackインターン成果報告
enokawa
0
2.1k
ownCloud on AWS in Hackers Champloo 前夜祭 #hcmpl
enokawa
0
640
#jawsug 沖縄 勉強会「AWS触ってみたけどその後どうしてる?」
enokawa
0
110
Other Decks in Technology
See All in Technology
プラットフォームを「作る」、 チームに「入り込む」
sansantech
PRO
0
420
MCPゲートウェイを作って運用してわかったこと — Agent時代の権限管理の現在地
mtpooh
9
2.5k
1万名の社員が使う認証基盤で どう信頼性を担保するか?
kairim0
0
130
人にやさしく、AIにやさしく、書き手を選ばないIaCのガードレール再考 / Rethinking IaC Guardrails for Humans and AI Alike
kohbis
5
2k
セルフサービスのオブザーバビリティ基盤をOpenTelemetryで作る / Building a Self-Service Observability Platform with OpenTelemetry
ymotongpoo
3
500
認知負荷を吸収し、プロダクトをまたぐPR Preview基盤の設計事例
taiki45
2
560
Swap and Memory Reclaim - Squeezing Out More RAM
ennael
PRO
1
1.5k
Terraformを用いたJamf Pro構成のIaC, GitOps化への挑戦
yukun
0
120
AIエージェント時代のPlatform as a Product —— テックリードがPdMとして回す発見・導入・計測 / Platform as a Product in the AI Agent Era
toshi0607
1
550
Oracle Cloud Infrastructure(OCI):Onboarding Session(はじめてのOCI/Oracle Supportご利⽤ガイド)
oracle4engineer
PRO
3
21k
検証フェーズはAIの回答を判断するための学習機会
toru_kubota
2
200
【Findyテック文化祭ワークショップ】新卒エンジニア&採用担当と作る、 なりたい姿と今やるべき一歩
dip_tech
PRO
0
150
Featured
See All Featured
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
890
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
910
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
560
Thoughts on Productivity
jonyablonski
76
5.4k
sira's awesome portfolio website redesign presentation
elsirapls
0
430
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
560
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
250
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
290
Code Reviewing Like a Champion
maltzj
528
40k
Transcript
CircleCI Orbs ʹίϯτϦϏϡʔτͨ͠ ӫ ే(@enkw_) 2019.12.11
ࣗݾհ ‘ ӫ ేʢ͑ͷ͔Θ ͳ͓ͱʣ ‘ ΞΠϨοτגࣜձࣾ ΠϯϑϥΤϯδχΞ ‘ Japan
APN Ambassador બग़ ‘ Twitter: @enkw_
ΞΠϨοτגࣜձࣾ ઃཱ ࢿຊۚ දऀ ैۀһ 200310݄15 7,000ສԁ ᜊ౻ কฏ 513໊ʢ201910݄࣌ʣ
9ؒAWSͷΈͰӡ༻อक 4 ࣾ ࣾ ϓϩδΣΫ τ 1200 2500 9ؒ 9000
ӡ༻
རްੜ ͦͷ̍ ‘ ۙྡॅखʢձ͔ࣾΒ1kmҎʹॅΜͩΒ࠷େ5ສԁิॿ͕ʂʣ • ދϊҎ֎1kmݍͰ3ສʹͳΓ·͢ ‘ ۙྡॅखҬͷҾӽ͠අ༻ิॿʢ࠷େ15ສࢧڅʣ ‘ ԕڑ௨ۈखʢ௨ۈʹ1.5࣌ؒҎ্͔͔Δਓ͚ʣ
‘ άϦʔϯंखʢ௨ۈʹ1࣌ؒҎ্͔͔Γɺۀ͕͍͠ਓ͚ʣ ‘ ݈߁ҡ࣋ͷҝͷεϙʔπࢧԉ • ࣾһ4ਓҎ্͕ू·ͬͯεϙʔπΛ͢Δࢪઃར༻ྉֹิॿʢ1ਓ্ݶ5,000ԁʣΛิॿ ‘ εϙʔπେձࢀՃิॿ • ࣾһ͕εϙʔπେձʹࢀՃ͢Δ߹ɺͦͷࢀՃඅͷֹʢ্ݶ 1ճʹ͖ͭ1ສԁʣΛิॿ ‘ ձࣾՃೖIT݈อͷεϙʔπδϜར༻Մ ʢίφϛεϙʔπΫϥϒɺηϯτϥϧεϙʔπɺΔ͢ͽ͋ʣ ‘ ؔ౦ITιϑτΣΞ݈߁อݥ߹
རްੜ ͦͷ̎ ‘ ֤छࢿ֨ࢧԉ༗ΓʢAWSೝఆࢼݧͳͲશֹෛ୲ʣ ‘ ࢈ٳɾҭٳ੍͋Γ ‘ ැཆՈखʢැཆՈ͕૿͖͑ͯͨΒॿ͔Δʂʣ ‘ γϑτۈखʢ24/365ӡ༻ͷMSPνʔϜ͚ʣ
‘ Ϛοαʔδɾ᭥ɾΧΠϩϓϥΫςΟοΫ ʢ݄ɾۚʹϓϩͷࢪज़͕ΦϑΟεͰड͚ΒΕ·͢ʣ ‘ 10࣌ग़ۈखʢ10࣌લʹग़ࣾ͢Δͱຖ1,000ԁͰ·͢ʂʣ ‘ ৬ऀϦϑϨογϡٳՋ੍
None
͜ͷ͓Ͱ͢ https://enokawa.hatenablog.jp/entry/2019/10/07/222424
CircleCI Orbs
https://circleci.com/docs/2.0/orb-intro/
CircleCI Orbs ‘ jobs command ܈Λύοέʔδͨ͠ͷ ‘ ಠࣗ Orb
ͷެ։Մೳ ‘ .circleci/config.yml ͕εοΩϦ
CircleCI Orbs ͷҙ ‘ Uncertified Orbs Λར༻͢Δࡍ Security Settings ͔Β
༻ΛڐՄ͢Δඞཁ͕͋Δ ‘ Organization ୯ҐͰͷڐՄ ‘ 2019/12/10 ݱࡏ Uncertified Orbs ΛҰ Publish ͢Δͱ আෆՄ ‘ CircleCI Support ʹґཔ͢Δ͜ͱͰআՄೳ https://circleci.com/docs/2.0/creating-orbs/
Orb Security Settings
ίϯτϦϏϡʔτલͷ͓
None
͜ΕΛ࣮ݱ͔ͨͬͨ͠
ίϯτϦϏϡʔτલͷ͓ ‘ 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
https://github.com/CircleCI-Public/aws-ecs-orb/pull/34
͙͢ରԠͯ͘͠Εͳͦ͞͏ͳؾ͕ͨ͠ͷͰPRΛग़͢͜ͱΛܾҙ
ίʔσΟϯάظ
ίʔσΟϯάظ ‘ ͱ͍ͬͯॻ͘ͷ YAML ͱ؆୯ͳ Shell ‘ JavaScript ͷ Templete
Engine Ͱ͋Δ Handlebars ϑΝΠϧΛฤू ‘ ֤ Parameter ͷ Description ॻ͘ඞཁ͕͋ΔͨΊӳޠ͕ΜΔ ‘ ECS CodeDeploy ͷ API ʹؔ͢Δཧղ͕ਂ·Δ ‘ API Reference ΛಡΈࠐΉͨΊ
։ൃͷྲྀΕ 1. src/orb.yml.hbs Λฤू 2. build_orb.sh Ͱ src/orb.yml Λੜ 3.
circleci orb validate src/orb.yml Ͱ Validate 4. ݸਓ Orbs ʹ publish 5. ಈ࡞֬ೝʢˠͷਤ௨Γʹ͍͔֬͘ೝ ͷ܁Γฦ͠
͍ͭʹͦͷ͕࣌
None
None
ͦͷޙ
ͦͷޙ ‘ ϓϩδΣΫτͰͳ͘Քಇத ‘ ͕ࣗίϯτϦϏϡʔτͨ͠ OSS ͕׆༻͞Ε͍ͯΔͬͯŘŘ ‘ PR Merge
ޙͪΐͪ͘ΐ͘ϨϙδτϦΛνΣοΫ͢ΔΑ͏ʹ ‘ Ѫண͕༙͘ ‘ kayac/ecspresso ͷ࣮ಡΜͰΈͨΓ
·ͱΊ
·ͱΊ ‘ OSS Λ͏ͳΒ OSS ʹίϯτϦϏϡʔτ͠Α͏ ‘ ͍ͭͷԸฦ͠ͱ͍͏ҙຯͰ ‘ ཉ͍͠ػೳ͕͋Ε
PR ग़ͦ͏/ࣗͰ࡞Ζ͏ ‘ ϗϯτʹνϟϨϯδͯ͠Α͔ͬͨ ‘ ͍ͭʮαϙʔτ͍ͯ͠ͳ͍͔Β...ʯͱಀ͕͛ͪͩͬͨ ‘ ӳޠϜζ͍ ‘ ͚ͲͰ͖ͳ͍ͱඨʹ͢Βཱͯͳ͍͔ΒΔ
Q&A
CircleCI Orbs ʹίϯτϦϏϡʔτͨ͠ ӫ ే(@enkw_) 2019.12.11