Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
デプロイについて言いたい1つのこと
Search
yu0819ki
April 12, 2017
Technology
0
450
デプロイについて言いたい1つのこと
・参考リンク
刀狩り for Jenkins
https://speakerdeck.com/yu0819ki/dao-shou-ri-for-jenkins
yu0819ki
April 12, 2017
Tweet
Share
More Decks by yu0819ki
See All by yu0819ki
たまには今日から業務で使える話でもしてみよう
yu0819ki
0
31
推しの成長と発展を寿ぐLT
yu0819ki
1
72
LightningTalkの資料作る時間なかったからおすすめの異世界転生作品を紹介するわ
yu0819ki
2
96
LightningTalkの資料作る時間なかったから カラオケするわ
yu0819ki
0
85
俺と婚活
yu0819ki
2
190
Webシステム不具合調査講座
yu0819ki
1
590
高い学習コストを払ってでも React+Reduxを選ぶその理由
yu0819ki
0
1.2k
やれてなかったからやりたい話
yu0819ki
0
420
刀狩り for Jenkins
yu0819ki
0
630
Other Decks in Technology
See All in Technology
入社半年で PTE に! 元海外在住者が語る Google Cloud × G-genで 成長する秘訣
risatube
PRO
0
140
大人の学び - マイクの持ち方について
kawaguti
PRO
3
670
PHPでアクターモデルを活用したSagaパターンの実践法 / php-saga-pattern-with-actor-model
ytake
0
630
セキュリティグループの”タイプ”を改めて考えてみる
masakiokuda
0
160
心に火を灯すヒントは自分の中にある/The clue to lighting a fire in your heart is within you.
bitkey
1
130
ISUCONにPHPで挑み続けてできるようになっ(てき)たこと / phperkaigi2025
blue_goheimochi
0
110
技術的負債を正しく理解し、正しく付き合う #phperkaigi / PHPerKaigi 2025
shogogg
6
1.2k
ランチの間に GitHub Copilot Agent が仕事を終わらせてくれた話
bicstone
5
630
Microsoft_20250311_できるつくれるAIAgent.pdf
iotcomjpadmin
0
300
Alpine.js を活用した Laravel MPA フロントエンド最適化戦略 / Alpine.js MPA
tzmfreedom
1
550
ClineにNext.jsのプロジェクト改善をお願いしてみた / 20250321_reacttokyo_LT
optim
1
510
Cline を知ると世界が広がった(だが、俺は Claude for Desktop で行く)
nassy20
3
190
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Building an army of robots
kneath
303
45k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
14
1.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
RailsConf 2023
tenderlove
29
1k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Transcript
デプロイについて⾔言いたい1つのこと 2017/04/12 Skill Wednesday yu0819ki@CyberZ
もくじ • じこしょうかい • デプロイとは • デプロイについて⾔言いたい1つのこと • 実例 •
おわりに
じこしょうかい Name: ⽊木村 幸弘 a.k.a yu0819ki Birthday: 1985.08.19
Age: 31 Birthplace: 北海道 Job: 技術戦略室フロントエンド担当 Hobby: ⾳音ゲー、読書、作曲 Motto: パンが無ければ作ればいいじゃない Topics 近々CircleCI と CodeDeployの詳細連携とか、API Gatewayのこととか話します。
デプロイとは Ø ソフトウェアの分野で、開発したソフトウェアを利⽤用できるように 実際の運⽤用環境に展開すること Webアプリケーションにとっては、リモートサーバ上にアプリケー ションを配置し、所定のポート(80, 443, 8080, 9000 など)経由でアク
セスできるようにすることかな。 【主な⼿手順】 1. Gitからソースを落としてくる 2. 何らかのビルドをする 3. リモートサーバに転送する 4. リモートサーバ上の所定の位置に配置する 5. 外部からアクセスできるように起動したりする (1,2はCIサーバ上で⾏行うことが多いかなと思う)
デプロイについて⾔言いたい1つのこと 切り戻し、考えてますか?
実例 • よくないと思う例 • mv /tmp/app/* /var/www/app • 元のソースが消失している •
mv /var/www/app /var/www/app.bk mv /tmp/app/* /var/www/app • ⼀一瞬 /var/www/app が消失しているため、ファイル数が多いとサービスダウンする • cp ‒–rp /var/www/app /var/www/app.bk mv ‒–r /tmp/app /var/www/app • 世代管理が出来ない • ALTER TABLE `̀hoge`̀ CHANGE COLUMN `̀app`̀ `̀apps`̀ [DEFINITION]; • ソースの切り戻しが会ったときに、DBも戻さなきゃいけない
実例 • ⾃自分がよくやる例 • mv ‒–r /tmp/app /var/www/releases/app-‑[commit id] ln
‒–snf /var/www/releases/app-‑[commit id] /var/www/app • シンボリックリンクを張り直すだけでもとに戻るし、即時反映される • ALTER TABLE `̀hoge`̀ ADD COLUMN `̀apps`̀ [DEFINITION]; UPDATE `̀hoge`̀ SET `̀app`̀ = `̀apps`̀; • 作業時にロックかける必要はあるだろうけど、既存ソースでも新規ソースでも動く
おわりに 実例で上げたのは、ディレクトリ/ファイル単位での切り戻し。 実⾏行環境ごと切り戻しができるBlueGreenDeploymentについて も検討しよう。 あと、ビルドとデプロイは分けておくほうが取り回しが楽。
ご静聴ありがとうございました
付録:関連する過去のスライド • ⼑刀狩り for Jenkins https://speakerdeck.com/yu0819ki/dao-‑shou-‑ri-‑for-‑jenkins