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
32
推しの成長と発展を寿ぐLT
yu0819ki
1
78
LightningTalkの資料作る時間なかったからおすすめの異世界転生作品を紹介するわ
yu0819ki
2
100
LightningTalkの資料作る時間なかったから カラオケするわ
yu0819ki
0
90
俺と婚活
yu0819ki
2
190
Webシステム不具合調査講座
yu0819ki
1
600
高い学習コストを払ってでも React+Reduxを選ぶその理由
yu0819ki
0
1.2k
やれてなかったからやりたい話
yu0819ki
0
420
刀狩り for Jenkins
yu0819ki
0
630
Other Decks in Technology
See All in Technology
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
7.4k
IIWレポートからみるID業界で話題のMCP
fujie
0
370
Cloud Native Scalability for Internal Developer Platforms
hhiroshell
2
460
Tenstorrent 開発者プログラム
tenstorrent_japan
0
310
評価の納得感を2段階高める「構造化フィードバック」
aloerina
1
200
(非公式) AWS Summit Japan と 海浜幕張 の歩き方 2025年版
coosuke
PRO
1
270
New Cache Hierarchy for Container Images and OCI Artifacts in Kubernetes Clusters using Containerd / KubeCon + CloudNativeCon Japan
pfn
PRO
0
160
kubellが挑むBPaaSにおける、人とAIエージェントによるサービス開発の最前線と技術展望
kubell_hr
1
310
Tensix Core アーキテクチャ解説
tenstorrent_japan
0
360
今からでも間に合う! 生成AI「RAG」再入門 / Re-introduction to RAG in Generative AI
hideakiaoyagi
1
180
脅威をモデリングしてMCPのセキュリティ対策を考えよう
flatt_security
4
1.7k
Definition of Done
kawaguti
PRO
3
180
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Designing for Performance
lara
609
69k
Optimizing for Happiness
mojombo
379
70k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Embracing the Ebb and Flow
colly
86
4.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Into the Great Unknown - MozCon
thekraken
39
1.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.9k
Visualization
eitanlees
146
16k
Agile that works and the tools we love
rasmusluckow
329
21k
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