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
chiroruxx
August 28, 2019
Technology
1
300
噂のマルチステージングビルドを試してみました
2019/08/28 PHP勉強会で発表した資料です。
chiroruxx
August 28, 2019
Tweet
Share
More Decks by chiroruxx
See All by chiroruxx
eBPF with PHPをさわる
chiroruxx
0
110
sl完全に理解したつもり
chiroruxx
0
90
命名をリントする
chiroruxx
1
740
良い命名かを調べるリンターを作った + α
chiroruxx
0
93
GoLandを布教する会
chiroruxx
0
31
PHPはいつから死んでいるかの調査
chiroruxx
3
640
元phperから見たGoの良いところ
chiroruxx
0
83
Go Connectへの想い
chiroruxx
0
460
GraphQLに入門してみた
chiroruxx
2
340
Other Decks in Technology
See All in Technology
ビジネスとデザインとエンジニアリングを繋ぐために 一人のエンジニアは何ができるか / What can a single engineer do to connect business, design, and engineering?
kaminashi
2
880
Azure Maps Visual in PowerBIで分析しよう
nakasho
0
190
正式リリースされた Semantic Kernel の Agent Framework 全部紹介!
okazuki
1
570
Microsoft Fabric vs Databricks vs (Snowflake) -若手エンジニアがそれぞれの強みと違いを比較してみた- "A Young Engineer's Comparison of Their Strengths and Differences"
reireireijinjin6
1
130
OPENLOGI Company Profile
hr01
0
63k
テストって楽しい!開発を加速させるテストの魅力 / Testing is Fun! The Fascinating of Testing to Accelerate Development
aiandrox
0
160
Асинхронная коммуникация в Go: от понятного к душному. Дима Некрасов, Otello, 2ГИС
lamodatech
0
1.9k
Terraform にコントリビュートしていたら Azure のコストをやらかした話 / How I Messed Up Azure Costs While Contributing to Terraform
nnstt1
1
120
PagerDuty×ポストモーテムで築く障害対応文化/Building a culture of incident response with PagerDuty and postmortems
aeonpeople
3
550
Serverlessだからこそコードと設計にはこだわろう
kenichirokimura
2
220
AIによるコードレビューで開発体験を向上させよう!
moongift
PRO
0
380
バクラクの認証基盤の成長と現在地 / bakuraku-authn-platform
convto
4
910
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
Writing Fast Ruby
sferik
628
61k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
5
590
Product Roadmaps are Hard
iamctodd
PRO
53
11k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
179
53k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
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 …