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
Running with version up
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
ta1kt0me
July 14, 2018
Technology
90
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Running with version up
ta1kt0me
July 14, 2018
Transcript
43 slides
όʔδϣϯΞοϓͱ ҰॹʹΔ !UBMLUP@NF
TFMG w τΫτϛώϩΩ w 3VCZΤϯδχΞ!HSPPWFTJOD w (JU)VC!UBLUNF w 5XJUUFS!UBMLUP@NF
None
w த్࠾༻ࢧԉαʔϏε w ਓࡐհࣄۀऀͱٻਓاۀΛͭͳ͛Δ w ϞϊϦγοΫͳ3BJMTΞϓϦέʔγϣϯ
Ξοϓσʔτͱͷ ͖߹͍ํ
HFNͷΞοϓσʔτ
3BJMTͷΞοϓσʔτ
ͱ͍͏ͷ͕ઌʑि
ͳͥΔ͔
$SPXE"HFOUͷྺ࢙
աڈͷϦϓϨΠε w αʔϏε։͔࢝Β w ࠷ॳ֎Ͱ$(* w $BUBMZTUͰԽϦϓϨΠε w 3VCZPO3BJMTͰϦϓϨΠε
3BJMTͰͷϦϓϨΠεϦϦʔε
എܠ w ϝΠϯ։ൃऀʢͨͬͨҰਓʣͷ৬ w ੵΈॏͳٕͬͨज़తෛ࠴
αʔϏε ։ൃऀ☠
Ξοϓσʔτ͍͢͠ ঢ়ଶΛอͭՁ
Ͳ͏Δ͔
ܧଓతʹऔΓΉ ඞཁͳ࣌ʹΔ
جຊܧଓత
ܧଓ͍͢͠ঢ়گΛ࡞Δ w ςετ w ࣗಈԽ w νʔϜͰ͖߹͏
ςετ w lςετ͕ͳ͍ͱ13Ϛʔδ͠ͳ͍ͷ͕ʮ;ͭ͏ʯz w ;ͭ͏ͷ3BJMTΞϓϦέʔγϣϯ։ൃ!POL w কདྷͷϓϩμΫτ։ൃΛָʹ͢Δࢿ
ࣗಈԽ w CVOEMFVQEBUFZBSOVQHSBEFΛຖ w EJ⒎Λ֬ೝ͘͢͠ w #VOEMFVQEBUF w IUUQTHJUIVCDPNTJOTPLVCVOEMFSEJ⒎ w
:BSOVQHSBEF w IUUQTSFOPWBUFCPUDPN
1 pullrequest_body=`bundle diffgems -f md_table | ruby -e "require 'json';
print JSON.generate(STDIN.read, quirks_mode: true)"` 2 branch_name=bundle_update_$CIRCLE_BUILD_NUM 3 git checkout -b $branch_name 4 git commit -m 'Bundle update' -- Gemfile.lock 5 6 if [[ $pullrequest_body = *"rubocop"* ]]; then 7 bundle exec rubocop --auto-gen-config 8 git add .rubocop_todo.yml 9 git commit -m 'bundle exec rubocop --auto-gen-config' 10 fi 11 12 if [[ $pullrequest_body = *"webpacker"* ]]; then 13 regexp="\[webpacker\]\(https://github\.com/rails/webpacker\) \| [0-9]+\.[0-9]+\.[0-9]+ \| ([0-9]+\.[0-9]+\.[0-9]+) \|" 14 if [[ $pullrequest_body =~ $regexp ]]; then 15 yarn upgrade @rails/webpacker@${BASH_REMATCH[1]} 16 git add package.json yarn.lock 17 git commit -m "yarn upgrade @rails/webpacker@${BASH_REMATCH[1]}" 18 fi 19 fi 20 21 git push origin $branch_name 22 curl -X POST -H "Authorization: token $GITHUB_ACCESS_TOKEN" --data "{\"title\": \"bundle update $CIRCLE_BUILD_NUM\", \"head\": \"$branch_name\", \"base\": \"master\", \"body\": $pullrequest_body}" https://api.github.com/repos/:organization/:repository/pulls w CVOEMFVQEBUF w ಛఆͷHFN͕VQEBUF͞Εͨ࣌ͷϑοΫॲཧ
νʔϜͰ͖߹͏ w ϥΠϒϥϦΞοϓσʔτχϡʔεϨλʔ w ΛνʔϜͰड͚࣋ͭ w ؾ͍ͮͨਓɾऔΓΜͩਓΛࢌ͑ΔධՁ͢Δ
ຖখ͘͞ίπίπ
ඞཁͳ࣌ʹΔύλʔϯ
3BJMTͷόʔδϣϯΞοϓ
w ࠊΛਾ͑ͯௐࠪ w ࣄલ४උ w Δ͜ͱΛߜΔ
λΠϛϯάΛޡͬͨྫ
CPPUTUSBQ☠
λΠϛϯάΛޡͬͨ w ૣܾ͗ͨ͢அ w CFUBͰܹ͠Ίͷมߋ w ӨڹൣғΊͷमਖ਼ΛରԠதʹਖ਼ࣜ൛͕ϦϦʔε w CPPUTUSBQ@GPSNHFN͕ରԠ͍ྃͯ͠ͳ͔ͬͨ w
IUUQTHJUIVCDPNDPNGZDPNGZCPPUTUSBQ GPSNͷΓସ͑ͰରԠ
มߋ͕େ͖͘ͳΓ͕ͪ w ʢ΄΅ʣશը໘ରԠ w ґଘ͕ߴ͍έʔεͰେྔͷมߋΛҰׅϦϦʔε͢Δඞ ཁੑ
४උෆ w ΠϯύΫτͷ͋Δੜ࡞ۀ w qFYCPYରԠͷͨΊQIBOUPNKT͔ΒIFBEMFTTDISPNF Γସ͑ w K2VFSZYΛ͍ͬͯͨͨΊYʹ
ͭΒ͔ͬͨ
ࣄલ४උ w େͳͷ3BJMTҰॹ w Ξοϓσʔτ࡞ۀΛ͢ΔͨΊͷࠐΈ w ؔ࿈HFN w 3BJMTͷσϑΥϧτʹدͤΔ
Δ͜ͱΛߜΔ w มߋ࠷খݶΛҙࣝ͢Δ w ৽ػೳޙͰ w ࣍ظόʔδϣϯΞοϓ·ͰʹΕ͍͍͜ͱٸ͕ͳ͍ w 50%0ɺλεΫԽΛΕͳ͍
࠷ۙ3BJMTʹ ͋͛·ͨ͠
ύϑΥʔϚϯε
w ։ൃڥͰͷܭଌͳͷͰ࣮ଶͱဃ͍ͯ͠ΔՄೳੑ͋Δ ༷ʑͳૢ࡞Λߦ͏ॏͨΊͷ TZTUFNTQFD TFD TFD ΤʔδΣϯτ༻501 TFD
TFD ਓࣄ༻501 TFD TFD ཧը໘501 TFD TFD
3BJMT৽ػೳFUD w ZBSO w XFCQBDLFS w SBJMTVKT w 4ZTUFNUFTU w
&ODSZQUFETFDSFUT w 1BSBNFUFSJ[FENBJMFST w %JSFDUSFTPMWFESPVUFT w GPSN@XJUI w $IBOHF%FGBVMU1SJNBSZ,FZTUP#*(*/5
3BJMT৽ػೳ w "DUJWF4UPSBHF w 3FEJT$BDIF4UPSF w )551&BSMZ)JOUT w $SFEFOUJBMT w
$POUFOU4FDVSJUZ1PMJDZ w CPPUTOBQ w $VSSFOU"UUSJCVUFT
·ͱΊ w վળΛ͘͢͢͠ΔͨΊʹΞοϓσʔτେࣄ w ָʹɺܧଓతʹ w খ͘͞ɺܭըతʹ
͋Γ͕ͱ͏͍͟͝·ͨ͠
None
More Decks by ta1kt0me
See All by ta1kt0me
過去の改善から考える オブザーバビリティの必要性
ta1kt0me
0
75
Update Billion Records
ta1kt0me
3
5.5k
omotesandorb_8.pdf
ta1kt0me
1
440
Rubyでのプロファイリング
ta1kt0me
0
140
開発環境でdockerを使ってみた
ta1kt0me
0
480
Other Decks in Technology
See All in Technology
常時稼働エージェントの作り方(Claude公式ブログを資料化)
minorun365
PRO
5
2.8k
並列度を下げたら速くなった — go build の重複コンパイルを実測で見る
tomoaki25
2
1.2k
変更差分を読むために環境を整備しよう
pipepasta
1
250
AI時代に求められる優秀なTechLeadの振る舞い
pospome
11
16k
Where Should Platform Complexity Live? Lessons from a Cross-Team PR Preview Platform
taiki45
0
110
仕様と現実の間で落とし所を探るリモートMCPの認証・認可 — Sansanの認証基盤における課題と実践
sansantech
PRO
2
300
AIネイティブ組織の作り方。1人のPOとAIから始める、自社での実験
ama_ch
1
470
81天的 AI Agent 軟體開發團隊治理實務分享
regionbbs
0
170
MCPでネットワーク障害調査を自動化する前に直すべき3つのこと
yama3133
0
200
2026-11-11 Tamachi.sre#7 PaCにインフラリソースの命を救われました。 / PaC saves the infra resource life
masasuzu
1
170
マネージャーをエスパーにしない マネジメントされる側から始める、働きやすい現場づくり
comi190327
0
390
Sonnetだけで業務はまわる?
kintotechdev
1
120
Featured
See All Featured
WCS-LA-2024
lcolladotor
0
1k
A Tale of Four Properties
chriscoyier
163
24k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
2
520
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.4k
How to Ace a Technical Interview
jacobian
280
24k
How to make the Groovebox
asonas
2
2.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
How to Think Like a Performance Engineer
csswizardry
28
2.9k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
480