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
chiroruxx
August 28, 2019
Technology
310
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
噂のマルチステージングビルドを試してみました
2019/08/28 PHP勉強会で発表した資料です。
chiroruxx
August 28, 2019
More Decks by chiroruxx
See All by chiroruxx
Contextとはなにか
chiroruxx
1
490
初心者エンジニアから中級者エンジニアになるためにオススメの1冊
chiroruxx
0
150
Laravelのパッケージ全部紹介する
chiroruxx
2
160
Gopher のための「自由な話し合い」ワークショップ
chiroruxx
0
56
PHPをGoで動かす
chiroruxx
0
120
Goを使ってTDDを体験しよう!
chiroruxx
1
1.4k
今ならできる!PhpStormプラグイン開発
chiroruxx
0
130
Go Connectへの想い
chiroruxx
0
250
eBPF with PHPをさわる
chiroruxx
0
210
Other Decks in Technology
See All in Technology
The seven pitfalls of AI (revised version)
ufried
0
270
カンファレンスに参加した後の浮遊感とセルフケア
pauli
0
310
AI 時代の Azure エンジニアリング ~ 私たちは何を磨き、何を任せるのか ~
chack411
1
480
転んだ話が背中を預ける理由になる / A_story_about_falling_down_gives_you_a_reason_to_watch_each_other_s_backs.pdf
pauli
3
270
Snowflake Horizon Catalog と Apache Iceberg で作る オープンなデータ基盤
kitagawaz
0
440
生成AIを使って「人が」考える技術 ― AI時代の人機共想と実践ノウハウ|UNITT AC2026
ishiirikie
0
560
今こそ知りたいAmplifyGen2
mkdev10
2
150
オンラインゲームのシステム全体像 - コロプラ 2026年度 新卒研修
colopl
0
750
HacobuにおけるFDEとは/登壇資料(戸井田 裕貴)
hacobu
PRO
1
780
【データ横丁主催】AI Agentがコンテキストを使って仕事をした後、何が残るのか― 組織の経験を次の判断に引き継ぐ「Agent Memory」
shisyu_gaku
2
330
Claude起点の仕様駆動開発
tanakaseiya
0
390
ファミコンでPHPを動かす / PHP on the Famicom side b
tomzoh
0
140
Featured
See All Featured
How to make the Groovebox
asonas
2
2.5k
Why Our Code Smells
bkeepers
PRO
340
58k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
sira's awesome portfolio website redesign presentation
elsirapls
0
440
How to build a perfect <img>
jonoalderson
1
6.1k
Building the Perfect Custom Keyboard
takai
2
890
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
540
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
550
Fireside Chat
paigeccino
43
4.1k
HDC tutorial
michielstock
2
940
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Transcript
ᷚͷ ϚϧνεςʔδϯάϏϧυΛ ࢼͯ͠Έ·ͨ͠ 1)1ษڧձ!౦ژ લాਓ
ࣗݾհ w લాਓ w !DIJSPSVYYYY w หޢ࢜υοτίϜ w
࠷ॳʹ w %PDLFSͷϚϧνεςʔδϯάϏϧυͷΛ͠·͢ w ͬͯΔਓ৽͍͠ใͳ͍ͱࢥ͍·͢
ͱ͋ΔҊ݅ʹͯ w ͱ͋Δ৽ن։ൃͷҊ݅Λͬͨͱ͖ͷ w ͭͷཁ݅ ֎෦ύοέʔδΛ༻͢Δ w ύοέʔδ[JQͰ͞ΕΔ
ίϯςφӡ༻Λ͢Δ Ͳ͏ͬͯιʔεཧɾڥߏங͠Α͏͔ʁ
ߟ͑ͨํ๏ w [JQϑΝΠϧΛͦͷ··ίϛοτ͓ͯ͘͠ w ϥΠϒϥϦͷόʔδϣϯ্͕͕ͬͨΒߋ৽͍ͯ͘͠ w %PDLFSGJMFͰ[JQΛղౚ͠ɺஔ͍ͯ͘͠
%PDLFSGJMF FROM alpine:latest RUN apk add --no-cache --update \ nginx
\ zip COPY ./package.zip /var/www RUN cd /var/www && \ unzip package.zip && \ chown -R nginx:nginx package && \ rm package.zip RUN mkdir -p /run/nginx EXPOSE 80 CMD nginx -g "daemon off;"
%PDLFSGJMF FROM alpine:latest RUN apk add --no-cache --update \ nginx
\ zip COPY ./package.zip /var/www RUN cd /var/www && \ unzip package.zip && \ chown -R nginx:nginx package && \ rm package.zip RUN mkdir -p /run/nginx EXPOSE 80 CMD nginx -g "daemon off;"
ඍົͳ w ӡ༻্Ͱ༻͠ͳ͍[JQΛΠϯετʔϧ͍ͯ͠Δ w VO[JQ·ΘΓͷॲཧ͕ͯ͘ݟͮΒ͍ w ιʔεΛஔͯ͠αʔόΛىಈ͍͚ͨͩ͠ͳͷʹ͍
ϚϧνεςʔδϯάϏϧυ✨
ϚϧνεςʔδϯάϏϧυ w Ұ࣌తͳ%PDLFSΠϝʔδΛ࡞ͯ͠ɺ%PDLFSGJMFͰ༻ Ͱ͖Δ w ؔ৺ࣄͷॏෳͷআʹޮՌత w Ωϟογϡޮྑ͍Β͍͠ w ʮ%PDLFSGJMFΛॻͨ͘ΊͷϕετϓϥΫςΟεʯΛࢀߟʹ͠
ͯͶ
%PDLFSGJMF શମ FROM alpine:latest as package RUN apk add --no-cache
--update \ zip COPY ./package.zip /opt RUN cd /opt && \ unzip package.zip FROM alpine:latest RUN apk add --no-cache --update \ nginx COPY --from=package --chown=nginx:nginx /opt/package /var/www/package RUN mkdir -p /run/nginx EXPOSE 80 CMD nginx -g "daemon off;"
%PDLFSGJMF શମ FROM alpine:latest as package RUN apk add --no-cache
--update \ zip COPY ./package.zip /opt RUN cd /opt && \ unzip package.zip FROM alpine:latest RUN apk add --no-cache --update \ nginx COPY --from=package --chown=nginx:nginx /opt/package /var/www/package RUN mkdir -p /run/nginx EXPOSE 80 CMD nginx -g "daemon off;" Ұ࣌తͳΠϝʔδ ຊମ
%PDLFSGJMF QBDLBHF FROM alpine:latest as package RUN apk add --no-cache
--update \ zip COPY ./package.zip /opt RUN cd /opt && \ unzip package.zip
%PDLFSGJMF CPEZ FROM alpine:latest RUN apk add --no-cache --update \
nginx COPY --from=package --chown=nginx:nginx \ /opt/package /var/www/package RUN mkdir -p /run/nginx EXPOSE 80 CMD nginx -g "daemon off;"
·ͱΊ w ಡΈ͘͢ͳͬͨ w ʮύοέʔδͷཧ VO[JQ ʯͱʮαʔόͷઃఆʯΛ ͚ͯॻ͚ΔΑ͏ʹͳͬͨ w %PDLFS3FHJTUPSZ͕͑Εɺύοέʔδཧ
ผΠϝʔδͰཧͯ͠0, FROM /url/to/registry/ as package FROM alpine:latest RUN apk add …
͓·͚ w $PNQPTFSͷΠϯετʔϧɺωοτͰௐΔͱΈΜͳDVSM͠ ͯؤுͬͯ·͕͢ɾɾɾ RUN curl -sS https://getcomposer.org/installer | php
RUN mv composer.phar /usr/local/bin/composer
͓·͚ w ࠓճͷ༰Λ͑ɺ؆୯ʹಋೖόʔδϣϯཧͰ͖·͢ Ͷ FROM composer:{version} as composer FROM alpine:latest
… COPY --from=composer /usr/bin/composer /usr/bin/composer …