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
噂のマルチステージングビルドを試してみました
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
chiroruxx
August 28, 2019
Technology
310
1
Share
噂のマルチステージングビルドを試してみました
2019/08/28 PHP勉強会で発表した資料です。
chiroruxx
August 28, 2019
More Decks by chiroruxx
See All by chiroruxx
初心者エンジニアから中級者エンジニアになるためにオススメの1冊
chiroruxx
0
110
Laravelのパッケージ全部紹介する
chiroruxx
2
110
Gopher のための「自由な話し合い」ワークショップ
chiroruxx
0
33
PHPをGoで動かす
chiroruxx
0
86
Goを使ってTDDを体験しよう!
chiroruxx
1
940
今ならできる!PhpStormプラグイン開発
chiroruxx
0
91
Go Connectへの想い
chiroruxx
0
210
eBPF with PHPをさわる
chiroruxx
0
170
sl完全に理解したつもり
chiroruxx
0
160
Other Decks in Technology
See All in Technology
NgRx SignalStore: The Power of Extensibility
rainerhahnekamp
0
160
あるアーキテクチャ決定と その結果/architecture-decision-and-its-result
hanhan1978
2
560
さくらのクラウドでつくるCloudNative Daysのオブザーバビリティ基盤
b1gb4by
0
140
AgentCore RuntimeからS3 Filesをマウントしてみる
har1101
3
390
スクラムを支える内部品質の話
iij_pr
0
340
シン・リスコフの置換原則 〜現代風に考えるSOLIDの原則〜
jinwatanabe
0
160
第26回FA設備技術勉強会 - Claude/Claude_codeでデータ分析 -
happysamurai294
0
400
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
4
14k
LLM とプロンプトエンジニアリング/チューターを定義する / LLMs and Prompt Engineering, and Defining Tutors
ks91
PRO
0
310
インフラを Excel 管理していた組織が 3 ヶ月で IaC 化されるまで
geekplus_tech
3
160
解剖"React Native"
hacusk
0
120
ADOTで始めるサーバレスアーキテクチャのオブザーバビリティ
alchemy1115
2
270
Featured
See All Featured
How to make the Groovebox
asonas
2
2.1k
Color Theory Basics | Prateek | Gurzu
gurzu
0
280
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Unsuck your backbone
ammeep
672
58k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
310
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
510
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
68
38k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
160
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 …