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
71
LightningTalkの資料作る時間なかったからおすすめの異世界転生作品を紹介するわ
yu0819ki
2
95
LightningTalkの資料作る時間なかったから カラオケするわ
yu0819ki
0
84
俺と婚活
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
サイト信頼性エンジニアリングとAmazon Web Services / SRE and AWS
ymotongpoo
8
1.9k
JAWS FESTA 2024「バスロケ」GPS×サーバーレスの開発と運用の舞台裏/jawsfesta2024-bus-gps-serverless
ma2shita
3
420
AIエージェント開発のノウハウと課題
pharma_x_tech
9
5.6k
どちらかだけじゃもったいないかも? ECSとEKSを適材適所で併用するメリット、運用課題とそれらの対応について
tk3fftk
2
340
Aurora PostgreSQLがCloudWatch Logsに 出力するログの課金を削減してみる #jawsdays2025
non97
1
270
DeepSeekとは?何がいいの? - Databricksと学ぶDeepSeek! 〜これからのLLMに備えよ!〜
taka_aki
2
200
x86-64 Assembly Essentials
latte72
4
760
失敗しないAIエージェント開発:階層的タスク分解の実践
kworkdev
PRO
0
340
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
850
あなたが人生で成功するための5つの普遍的法則 #jawsug #jawsdays2025 / 20250301 HEROZ
yoshidashingo
2
470
開発者のための FinOps/FinOps for Engineers
oracle4engineer
PRO
2
290
Cracking the Coding Interview 6th Edition
gdplabs
14
28k
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
For a Future-Friendly Web
brad_frost
176
9.6k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Code Reviewing Like a Champion
maltzj
521
39k
How STYLIGHT went responsive
nonsquared
99
5.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
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