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
デプロイについて言いたい1つのこと
Search
yu0819ki
April 12, 2017
Technology
520
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
デプロイについて言いたい1つのこと
・参考リンク
刀狩り for Jenkins
https://speakerdeck.com/yu0819ki/dao-shou-ri-for-jenkins
yu0819ki
April 12, 2017
More Decks by yu0819ki
See All by yu0819ki
たまには今日から業務で使える話でもしてみよう
yu0819ki
0
45
推しの成長と発展を寿ぐLT
yu0819ki
1
100
LightningTalkの資料作る時間なかったからおすすめの異世界転生作品を紹介するわ
yu0819ki
2
130
LightningTalkの資料作る時間なかったから カラオケするわ
yu0819ki
0
110
俺と婚活
yu0819ki
2
230
Webシステム不具合調査講座
yu0819ki
1
640
高い学習コストを払ってでも React+Reduxを選ぶその理由
yu0819ki
0
1.3k
やれてなかったからやりたい話
yu0819ki
0
430
刀狩り for Jenkins
yu0819ki
0
650
Other Decks in Technology
See All in Technology
検証フェーズはAIの回答を判断するための学習機会
toru_kubota
2
520
AI時代だからこそ推したい!Gitコマンド再入門
munakata
0
150
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
3
4.7k
freeeらしさをAIとともに作る / Creating the freee Experience with AI
ymrl
0
210
事業活動を AI Ready にする攻めと守りのデータエンジニアリング / data-engineering-for-ai-ready-business
pei0804
5
2k
AI 時代の Azure エンジニアリング ~ 私たちは何を磨き、何を任せるのか ~
chack411
1
530
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
2
990
OR学会2026年秋期大会_機械学習と数理最適化の融合による、配合レシピ最適化システム開発事例
brainpadpr
0
100
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
110
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
140
並行性の問題を防げ!実践トランザクション入門
occhi
0
280
Meet AgentCore Identity Consent Portal
hironobuiga
3
190
Featured
See All Featured
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
270
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
570
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
460
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
580
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
GraphQLの誤解/rethinking-graphql
sonatard
75
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