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
タグ付けデプロイの話
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
NIIKURA Ryota
May 30, 2018
Technology
1.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
タグ付けデプロイの話
PHP勉強会126回にて発表した内容です
後ろの2枚は発表では使用しなかったものの、もったいないので、適当につけただけですので、無視しちゃってください
NIIKURA Ryota
May 30, 2018
More Decks by NIIKURA Ryota
See All by NIIKURA Ryota
SwooleでLaravelを高速化してみる
niisantokyo
0
5.2k
新人さんでもテストを書くべきだっていう話
niisantokyo
1
1.1k
一次元畳み込みフィルターによる音声データのオートエンコーダ
niisantokyo
1
3.8k
TensorFlow.jsに保存機能が実装された件
niisantokyo
1
340
PHP-FPMのコンテナログ2重出力問題
niisantokyo
0
280
Laradockの紹介
niisantokyo
0
1.1k
deeplearnjsの紹介
niisantokyo
1
250
ひたすら楽して、PHPアプリをコンテナ運用の縮小版
niisantokyo
0
890
PHPでニューラルネットを作った話
niisantokyo
2
4k
Other Decks in Technology
See All in Technology
2026-09-18 gotanda.sre Terraformで複数環境作ったり、複数Stateに分割したりそれとTerragrunt / Terraform multi envs and multi states
masasuzu
1
410
Snowflakeのコスト最適化を支えるアーキテクチャ設計
ktatsuya
1
1.6k
DEFCON34-Write-up_HYCu-MYCu
daikiokazaki
0
160
あるけみー式LTスライド作成術
alchemy1115
2
220
バイブコーディング時代のWebアプリ開発入門~Cloud Runで学ぶセキュアなビルドとデプロイ
waiwai2111
1
130
アプリをもっと"iOSアプリっぽく"する小さな工夫 / Small Touches That Make Your App Feel More Like an iOS App
matsuji
2
920
AgentCore Runtime上にAgentic Coding基盤を構築・展開する際の設計ポイントと限界点 / Design considerations and limitations when building an agentic coding platform on AgentCore Runtime
har1101
4
190
【技術的負債conf】事業成長に伴う技術的負債の説明責任とAIによるモニタリング、認知的負債について
i35_267
3
1.6k
作品が生態系になった ─ Mini Tokyo 3D から世界へ
nagix
0
190
AI時代の「技術的負債」の変質ー概念の終焉と再解釈、エージェントと共に向かう先
nwiizo
0
2.7k
Claude Code本って、 読む必要あるの?
oikon48
2
470
iOSDC Japan 2026 day1 TrackC 10:50
feedtailor
1
160
Featured
See All Featured
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
740
Become a Pro
speakerdeck
PRO
31
6.3k
[SF Ruby Conf 2025] Rails X
palkan
3
1.4k
Discover your Explorer Soul
emna__ayadi
2
1.3k
The Language of Interfaces
destraynor
162
27k
The SEO Collaboration Effect
kristinabergwall1
1
570
Joys of Absence: A Defence of Solitary Play
codingconduct
1
520
Designing for Timeless Needs
cassininazir
1
480
Odyssey Design
rkendrick25
PRO
2
810
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.8k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Transcript
タグでデプロイする PHP勉強会 #126 2018/05/30 株式会社ニジボックス @niisan-tokyo
ワタシ • 右の写真の顔をしたおっさん • エンジニア歴 6年くらい • PHPer歴 ≒ エンジニア歴
• 現在の所属会社、ニジボックス歴は2.5年くら い • 最近のブームは機械学習で音楽生成するって いうテーマ • PCを買い替えてしまった • 地球防衛軍5継続中 • 業務ではGitLabを使用しています
お品書き • タグとリリース • タグとCI • タグデプロイとコンテナ • まとめ
タグとリリース
gitのタグ 特定のコミットにつける、目印 4ggh9wrt rh9854w 08ygrar hoge_tag rh9854w コミットメッセージ タグメッセージ
タグとリリース GitHubではリリースの目印 にタグを使っている
タグとリリース GitlabでもUIでタグをつけるときに、リ リースノートという独自のメッセージを つけることで、リリースを意識してい る
タグにリリースの意味を 持たせることができる ※ タグ自体はただの目印でしかないので、リリースの意味を持たせているのは、開発者側である
タグをつけたらデプロイでええやん! ※github flow だと、master はいつでもデプロイできる状況にってあるけど、いつ何をデプロイし たかとか、やっぱり知っておきたいやん? そこまでコードに自信があるわけではないので、 QA確認済みのコミットをデプロイしたいっていう のが本音
タグとCI
タグとCI • タグつけてデプロイしたい • でも、手動でやるとか面倒だし失敗しそう • CIでタグ付け感知したらデプロイやってくれるとかできたら楽 だなぁ
よく使うカジュアルなCI • Travis CI • Circle CI • GitLab CI
タグとCI ( Travis CI ) https://docs.travis-ci.com/user/customizing-the-build/ (適当意訳) v1.3みたいなフォーマットのタグをビルドにつけたいなら、 /^v\d+\.\d+(\.\d+)?(-\S*)?$/ みたいな正規表現
でビルドのリストに追加できるよ tags っていうフィールドつけるわけにはいかなかったのか、ちょっと 不思議
タグとCI (Circle CI) https://circleci.com/docs/2.0/configuration-reference/#filters-1 一応、特定のタグをCIのトリガーにすることはできる なぜか、上記のExampleにタグをCIに取り入れる例が存在しない
タグとCI (GitLab CI) タグをつけた時だけ jobが走るっていう設定 がある tagの絞り込みの方法はよくわからない リリースにしか使わないと割り切れば問題な い?
タグデプロイとコンテナ ( GitLabの例 )
masterブランチとタグの役割分担 • テストを通す • 動作用のDocker imageを作る • 開発用の環境変数を込めて、ス テージング環境にコンテナをデプ ロイ
• 本番用の環境変数を込めて本番 環境にコンテナをデプロイ masterプッシュ タグづけ
コンテナイメージを介したmasterとタグの協調 accept merge request コンテナ イメージ ステージング環 境 本番環境 tag
v1.2.x master
コンテナデプロイの手順 1. デプロイ対象のコミットにタグをつけます ※ GitlabのタグはUI上でつけ られるので、niisan 不在でもデ プロイができるのだ
コンテナデプロイの手順 2. 終わり CI完了したら、slackに通知する
こんなところが気に入っている • タグをつけるという明確なスイッチがある • CIがデプロイやってくれるので、ミスることは (多分) ない • ステージングで動作確認したコンテナがデプロイされるので、 (よっぽどのことがない限りは)
動作保証されている
気をつけたい点 CIの魔境化 & 属人化 この時点でやばい 意味不明な設定群 恐怖を感じる
まとめ • 今更だけど、リリースバージョンとしてタグを意識してみる • タグとリリースが同一視できるのなら、タグをつけた時にデプロイするのが筋だと考 える • 幸い、CIとタグ付けが連携できる場合が多いので、タグ付けした後のデプロイを自 動化できる •
コンテナ運用はタグ付けデプロイとの相性がいいように思う • CIの魔境化には注意してね
ご静聴ありがとうございます!!!
タグ付けがリリースならば... • そもそもリリースってなんだ? • サービスとかだったら本番デプロイだよな • だったら、タグ付けしたら、本番デプロイするってことでいいかな • デプロイ手動でやるの面倒臭い •
だったら、CIで回せばいいんじゃないか? • CIって、タグに反応してくれるの?
コンテナイメージを使ったタグデプロイの要点 • masterがプッシュされた時点で、コンテナのイメージが作成され、そのままステージ ングにデプロイされる • このとき、コミットハッシュがイメージのタグに付与される • コミットにタグが付与されると、対象のコミットハッシュをタグに持ったイメージが本番 環境にデプロイされる •
ステージングにデプロイされたものと環境変数を除いて全く同じ ( であると信じてい る ) 動作環境が本番にデプロイされている • ステージングと本番の同一性を確保することができる