ProHoster > Blog > Pulega > Talosaga fa'aonaponei i luga o OpenShift, vaega 2: fausia filifili
Talosaga fa'aonaponei i luga o OpenShift, vaega 2: fausia filifili
Talofa uma! Ole fa'ailoga lona lua lea ile matou fa'asologa o lo'o fa'aalia ai le fa'aogaina o upegatafa'ilagi fa'aonaponei ile Red Hat OpenShift.
I le pou muamua, matou te paʻi atu i le gafatia o le S2I fou (source-to-image) ata faufale, lea ua mamanuina mo le fausiaina ma le faʻaogaina o talosaga i luga o le initaneti i luga o le OpenShift platform. Ona matou fiafia lea i le autu o le vave faʻapipiʻiina o se talosaga, ma o aso nei o le a matou vaʻavaʻai i le faʻaogaina o se ata S2I o se ata faufale "mama" ma tuʻufaʻatasia ma faʻatasi ma faʻalapotopotoga OpenShift.
Ata faumama mama
E pei ona matou taʻua i le Vaega XNUMX, o le tele o talosaga i luga o le upega tafaʻilagi faʻaonapo nei o loʻo i ai se tulaga e taʻua o le fausiaina, lea e masani ona faʻatinoina galuega e pei o le faʻaliliuina o code, tele faʻapipiʻi faila, ma le faʻaitiitia. O faila na maua ona o nei faʻagaioiga - ma o le HTML static, JavaScript ma CSS - o loʻo teuina i totonu o le pusa o galuega. O le nofoaga o lenei faila e masani lava ona faʻalagolago i mea faufale o loʻo faʻaaogaina, ma mo React o le ./build lea (o le a tatou toe foʻi mai i lenei mea ile auiliiliga i lalo).
Puna-i-Ata (S2I)
I lenei pou matou te le paʻi atu i le autu "o le a le S2I ma le faʻaogaina" (e mafai ona e faitau atili e uiga i lenei mea iinei), ae taua le manino e uiga i laasaga e lua i lenei faagasologa e malamalama ai i le mea e fai e le Upega Tafaʻilagi ata.
Vaega fono
O le vaega faʻapotopotoga e talitutusa lava i le natura i le mea e tupu pe a e faʻatautaia le fausiaina o le fale ma faʻauʻu i se ata fou Docker. E tusa ai, o lenei laasaga e tupu pe a amata se fausiaina i luga o le OpenShift platform.
I le tulaga o le Web App Builder ata, e nafa ma le faʻapipiʻiina o faʻalagolago i lau talosaga ma faʻatautaia le fausiaina. fa'apipi'i tusitusiga. Ona o le faaletonu, o le ata faufale e faʻaaogaina le npm run build construct, ae e mafai ona faʻaogaina e ala i le NPM_BUILD environment variable.
E pei ona matou fai atu muamua, o le nofoaga o le maeʻa, ua uma ona fausia le talosaga e faʻalagolago i mea faigaluega e te faʻaaogaina. Mo se faʻataʻitaʻiga, i le tulaga o React o le a avea lea ma ./build folder, ma mo talosaga Angular o le a avea ma project_name/dist folder. Ma, e pei ona uma ona faʻaalia i le pou muamua, o le nofoaga o le lisi o galuega, lea e faʻatulagaina e fausia e ala i le le mafai, e mafai ona faʻaaogaina e ala i le fesuiaiga o le siosiomaga OUTPUT_DIR. Ia, talu ai ona o le tulaga o le faila faila e ese mai le faʻavaa i lea faʻavae, e te kopiina le mea na gaosia i le faila masani i le ata, e pei o / opt / apt-root / output. E taua tele lenei mea mo le malamalama i le vaega o totoe o lenei tusiga, ae mo le taimi nei seʻi o tatou vaʻavaʻai vave i le isi laʻasaga - o le taʻavale.
vaega tamo'e
O lenei laasaga e tupu pe a faia se valaau i le docker run i luga o le ata fou na faia i le taimi o le faʻapotopotoga. E tutusa lava le mea e tupu pe a faʻapipiʻi i luga o le OpenShift platform. Default tamo'e tusitusiga faʻaaoga tautua module e tu'uina atu mea fa'apitoa o lo'o i totonu o le fa'atonuga o galuega fa'atino o lo'o i luga.
O lenei metotia e lelei mo le faʻapipiʻiina vave o talosaga, ae e masani lava e le fautuaina e tuʻuina atu mea faʻapitoa i lenei auala. Ia, talu ai o le mea moni e naʻo mea e tuʻuina atu, matou te le manaʻomia le Node.js faʻapipiʻi i totonu o la matou ata - o le a lava le upega tafaʻilagi.
I se isi faaupuga, pe a faʻapipiʻi matou te manaʻomia se mea se tasi, pe a faʻatinoina matou te manaʻomia se isi. I lenei tulaga, o le fausia o filifili e aoga.
Fausia filifili
O le mea lea ua latou tusia ai fausia filifili i totonu o pepa OpenShift:
"E lua faʻapotopotoga e mafai ona fesoʻotaʻi faʻatasi, ma le tasi e faʻatupuina se faʻalapotopotoga tuʻufaʻatasia ma le isi faʻafeiloaʻi lena faʻalapotopotoga i se ata ese e faʻaaogaina e faʻatautaia ai lena faalapotopotoga."
I se isi faaupuga, e mafai ona tatou faʻaogaina le Web App Builder image e faʻatautaia ai la tatou fale, ona faʻaaoga lea o le ata o le upega tafaʻilagi, le NGINX tutusa, e tautua ai a tatou mea.
O le mea lea, e mafai ona tatou faʻaogaina le Upega Tafaʻilagi Faʻapipiʻi ata e avea o se faufale "mama" ma i le taimi lava e tasi e iai se ata laʻititi.
Se'i o tatou va'ava'ai i lenei mea ma se fa'ata'ita'iga fa'apitoa.
Mo toleniga o le a matou faʻaaogaina faigofie React talosaga, faia e fa'aaoga ai le mea faigaluega laina fa'atonu-react-app.
Se'i o tatou va'ava'ai atili i le faila lea, ma amata i le vaega fa'ata'oto.
parameters:
- name: SOURCE_REPOSITORY_URL
description: The source URL for the application
displayName: Source URL
required: true
- name: SOURCE_REPOSITORY_REF
description: The branch name for the application
displayName: Source Branch
value: master
required: true
- name: SOURCE_REPOSITORY_DIR
description: The location within the source repo of the application
displayName: Source Directory
value: .
required: true
- name: OUTPUT_DIR
description: The location of the compiled static files from your web apps builder
displayName: Output Directory
value: build
required: false
O mea uma iinei e matua manino lava, ae e aoga le faʻalogo i le OUTPUT_DIR parameter. Mo le React application i la tatou faʻataʻitaʻiga, e leai se mea e popole ai, talu ai e faʻaaogaina e React le tau le aoga e pei o le faila faila, ae i le tulaga o Angular poʻo se isi mea, e manaʻomia le suia o lenei parakalafa pe a manaʻomia.
Va'ai i ata lona tolu ma le fa. O loʻo faʻamatalaina uma e pei o ata Docker, ma e mafai ona e vaʻaia lelei le mea e sau ai.
O le ata lona tolu o le web-app-builder ma e sau mai le nodeshift/ubi8-s2i-web-app tagged 10.x on Docker nofoaga.
O le lona fa o se ata NGINX (version 1.12) faʻatasi ai ma le pine fou i luga Docker nofoaga.
Se'i o tatou tilotilo la i ata muamua e lua. O lo'o gaogao uma i le amataga ma e na'o le taimi o le fausiaina o le vaega e faia. O le ata muamua, react-web-app-builder, o le a avea ma taunuuga o se laʻasaga faʻapotopotoga o le a tuʻufaʻatasia ai le ata web-app-builder-runtime image ma le tatou code source. O le mea lena na matou faʻaopoopoina ai le "-builder" i le igoa o lenei ata.
O le ata lona lua - react-web-app-runtime - o le a avea ma taunuuga o le tuʻufaʻatasia o le nginx-image-runtime ma nisi faila mai le react-web-app-builder image. O lenei ata o le a faʻaaogaina i le taimi o le faʻapipiʻiina ma o le a naʻo le upega tafaʻilagi ma le HTML static, JavaScript, CSS o la matou talosaga.
Le mautonu? Se'i o tatou va'ava'ai i le fa'atulagaina o faufale ma o le a fa'amanino teisi.
O la matou mamanu e lua fau faufale. O le mea muamua lea, ma e matua masani lava:
E pei ona mafai ona e vaʻaia, o le laina ma le igoa 1 o loʻo faʻapea o le taunuuga o lenei fausiaina o le a tuʻuina i le tutusa tali-web-app-builder ata na matou vaʻaia muamua i le vaega ImageStreams.
O le laina fa'ailoga 2 e ta'u atu ia te oe le mea e maua mai ai le code. I la matou tulaga, o le git repository, ma o le nofoaga, ref ma le faʻasologa o faʻamaumauga e faʻamoemoeina e faʻamaufaʻailoga ua uma ona matou vaʻaia i luga.
O le laina faʻailoga 3 o le mea lea ua uma ona matou vaʻaia i le vaega faʻamau. E faʻaopoopoina le suiga ole siosiomaga OUTPUT_DIR, lea i la tatou faʻataʻitaʻiga o le fausiaina.
O le laina faʻailoga 4 fai mai e faʻaoga le ata web-app-builder-runtime, lea ua uma ona matou vaʻaia i le vaega ImageStream.
Laina fa'ailoga 5 fai mai matou te manana'o e fa'aoga se fa'atupu fa'aopoopo pe afai e lagolagoina e le ata S2I, ma e fa'apea fo'i le ata o le Faufale Fa'asalalauga. I le faʻalauiloaina muamua, pe a maeʻa le faʻapotopotoga, o le ata o le a faʻasaoina le faila node_modules i se faila faila. Ona, i luga o taʻaloga mulimuli ane, o le ata o le a naʻo le tatalaina o lenei faila e faʻaitiitia ai le taimi o le fausiaina.
Ma le mea mulimuli, o le laina o loʻo faʻaigoaina 6 ua na o ni nai faʻaosoina e faʻaogaina ai le fausiaina otometi, e aunoa ma le faʻaogaina o le tusi, pe a suia se mea.
Ile aotelega, o se fa'atulagaga fau masani lelei lea.
Se'i o tatou va'ai i le fa'atulagaina o le faufale lona lua. E talitutusa lava ma le muamua, ae e tasi le eseesega taua.
O le faʻatulagaga lona lua o le faʻatulagaina o le tali-web-app-runtime, ma e amata i se tulaga masani.
Ole laina fa'ailoga 1 e le o se mea fou - e na'o le fa'apea o le fa'ai'uga e tu'u i totonu ole ata tali-web-app-runtime.
O le laina fa'ailoga 2, pei o le fa'asologa muamua, o lo'o ta'u mai ai le mea e maua mai ai le fa'ailoga puna. Ae maitau o iinei tatou te fai atu na aveesea mai le ata. E le gata i lea, mai le ata na matou fatuina - mai le react-web-app-builder (faʻaalia i le laina faʻailoga 3). O faila matou te mananaʻo e faʻaoga o loʻo i totonu o le ata ma o latou nofoaga o loʻo tuʻuina i le laina faʻailoga 4, i la matou tulaga o /opt/app-root/output/. Afai e te manatua, o le mea lea e teu ai faila e faʻavae i luga o taunuuga o le fausiaina o la matou talosaga.
O le faʻailoga o loʻo faʻamaonia i le faaupuga ma le igoa 5 e naʻo le lisi o loʻo i ai nei (o mea uma, manatua, o loʻo tamoe i totonu o se mea faʻapitoa e taʻua o OpenShift, ae le o luga o lau komepiuta i le lotoifale).
O le vaega o fuafuaga - laina faʻailoga 6 - e tutusa foi ma le faʻatulagaina muamua o le fausiaina. Naʻo le taimi lenei o le a matou faʻaogaina le nginx-image-runtime, lea ua uma ona matou vaʻaia i le vaega ImageStream.
Mulimuli ane, o le laina faʻailoga 7 o se vaega o faʻaosoina o le a faʻagaoioia lenei fale i taimi uma e suia ai le ata-web-app-builder image.
A leai, o lenei faʻataʻitaʻiga o loʻo i ai se faʻatulagaga masani faʻapipiʻi, faʻapea foʻi ma mea e fesoʻotaʻi ma auʻaunaga ma auala, ae matou te le oʻo atu i na auiliiliga. Faamolemole ia matau o le ata o le a faʻapipiʻiina o le react-web-app-runtime image.
Talosaga Fa'atonu
O lea la ua tatou vaʻavaʻai i le faʻataʻitaʻiga, seʻi o tatou vaʻai pe faʻapefea ona faʻaogaina e faʻapipiʻi ai se talosaga.
E mafai ona matou faʻaogaina le meafaigaluega OpenShift client e taʻua oc e faʻapipiʻi ai la matou mamanu:
O le mamanu iinei e tutusa, vagana ai le fesuiaiga OUTPUT_DIR.
Fa'aopoopo 2
I lenei tusiga na matou faʻaogaina le NGINX o se 'upega tafaʻilagi, ae e faigofie lava ona sui i Apache, naʻo le suia o le mamanu i le faila. ata NGINX i Ata Apache.
iʻuga
I le vaega muamua o lenei faasologa, na matou faʻaalia ai le faʻaogaina vave o talosaga i luga ole laiga i luga ole OpenShift platform. O aso nei na matou vaʻavaʻai i le mea e fai e le Upega Tafaʻilagi ata ma pe faʻafefea ona tuʻufaʻatasia ma se 'upega tafaʻilagi mama e pei o le NGINX e faʻaogaina ai le faʻaogaina o mea e fausia ai se faʻapipiʻi faʻapipiʻi saunia. I le isi mataupu mulimuli ma le mulimuli i lenei faasologa, o le a matou faʻaalia pe faʻafefea ona faʻatautaia se atinaʻe server mo lau talosaga ile OpenShift ma faʻamautinoa le tuʻufaʻatasia o faila i le lotoifale ma mamao.
Vaega 2: Faʻafefea ona faʻaogaina se ata fou S2I faʻatasi ai ma se ata HTTP server o loʻo i ai nei, e pei ole NGINX, faʻaaogaina faʻatasi OpenShift assemblies mo le faʻapipiʻiina o gaosiga;
Vaega 3: faʻafefea ona faʻatautaia se faʻaumau atinaʻe mo lau talosaga i luga o le OpenShift platform ma faʻafetaui ma le faila faila i le lotoifale.