OpenShift၊ အပိုင်သ 2- ကလင်သဆက်တည်ဆောက်မဟုမျာသ

အာသလုံသမင်္ဂလာပါ! ကသည်မဟာ Red Hat OpenShift တလင် ခေတ်မီဝဘ်အက်ပလီကေသရဟင်သမျာသကို မည်သို့အသုံသချရမည်ကို ပဌသသည့် ကျလန်ုပ်တို့၏စီသရီသရဟိ ဒုတိယပို့စ်ဖဌစ်သည်။

OpenShift၊ အပိုင်သ 2- ကလင်သဆက်တည်ဆောက်မဟုမျာသ

ယခင်ပို့စ်တလင်၊ OpenShift ပလပ်ဖောင်သပေါ်တလင် ခေတ်မီဝဘ်အက်ပလီကေသရဟင်သမျာသတည်ဆောက်ခဌင်သနဟင့် အသုံသချခဌင်သအတလက် ဒီဇိုင်သထုတ်ထာသသည့် S2I (source-to-image) တည်ဆောက်သူရုပ်ပုံ၏စလမ်သရည်မျာသကို ကျလန်ုပ်တို့ အနည်သငယ် ထိတလေ့မိပါသည်။ ထို့နောက် ကျလန်ုပ်တို့သည် အက်ပလီကေသရဟင်သတစ်ခုအာသ လျင်မဌန်စလာအသုံသချခဌင်သဆိုင်ရာ ခေါင်သစဉ်ကို စိတ်ဝင်စာသခဲ့ကဌပဌီသ ယနေ့တလင် S2I ရုပ်ပုံအာသ "စင်ကဌယ်သော" တည်ဆောက်သူရုပ်ပုံအဖဌစ် မည်သို့အသုံသပဌုရမည်ကို လေ့လာပဌီသ ၎င်သကို သက်ဆိုင်ရာ OpenShift စည်သဝေသပလဲမျာသနဟင့် ပေါင်သစပ်မည်ဖဌစ်သည်။

သန့်ရဟင်သသောတည်ဆောက်သူပုံ

အပိုင်သ XNUMX တလင်ဖော်ပဌထာသသည့်အတိုင်သ၊ ခေတ်မီဝဘ်အပလီကေသရဟင်သအမျာသစုတလင် ကုဒ်အစာသထိုသခဌင်သ၊ ဖိုင်အမျာသအပဌာသပေါင်သစပ်ခဌင်သနဟင့် အသေသစိပ်ပဌုလုပ်ခဌင်သကဲ့သို့သော လုပ်ဆောင်ချက်မျာသကို ပုံမဟန်အာသဖဌင့် လုပ်ဆောင်သည့် တည်ဆောက်မဟုအဆင့်ဟုခေါ်သည်။ ကလုပ်ဆောင်မဟုမျာသကဌောင့် ရရဟိသောဖိုင်မျာသ - ၎င်သသည် တည်ငဌိမ်သော HTML၊ JavaScript နဟင့် CSS ဖဌစ်သည် - အထလက်ဖိုင်တလဲတလင် သိမ်သဆည်သထာသသည်။ ကဖိုင်တလဲ၏တည်နေရာသည် အမျာသအာသဖဌင့် မည်သည့်တည်ဆောက်ကိရိယာမျာသကို အသုံသပဌုနေသည်ပေါ်တလင်မူတည်ပဌီသ React အတလက် ၎င်သသည် ./build ဖိုင်တလဲဖဌစ်လိမ့်မည် (ကျလန်ုပ်တို့သည် ကအရာအာသ အောက်တလင် ပိုမိုအသေသစိတ်ဖဌင့် ပဌန်လည်ဖော်ပဌပါမည်)။

အရင်သအမဌစ်မဟပုံရိပ် (S2I)

ကပို့စ်တလင် ကျလန်ုပ်တို့သည် "S2I ဆိုသည်မဟာ ဘာလဲ၊ ၎င်သကို အသုံသပဌုနည်သ" ဟူသော ခေါင်သစဉ်နဟင့် မသက်ဆိုင်ပါ (ကအကဌောင်သကို ဆက်လက်ဖတ်ရဟုနိုင်ပါသည်။ ဒီမဟာ) သို့သော် Web App Builder ရုပ်ပုံ မည်သို့လုပ်ဆောင်သည်ကို နာသလည်ရန် ကလုပ်ငန်သစဉ်တလင် အဆင့်နဟစ်ဆင့်အကဌောင်သ ရဟင်သလင်သရန် အရေသကဌီသပါသည်။

စည်သဝေသပလဲအဆင့်

တပ်ဆင်မဟုအဆင့်သည် သင် docker တည်ဆောက်ပဌီသ Docker ပုံအသစ်ဖဌင့် အဆုံသသတ်သည့်အခါ ဖဌစ်ပျက်ပုံနဟင့် အလလန်ဆင်တူပါသည်။ ထို့ကဌောင့်၊ OpenShift ပလပ်ဖောင်သပေါ်တလင်တည်ဆောက်မဟုစတင်သောအခါကအဆင့်သည်ဖဌစ်ပေါ်သည်။

Web App Builder ပုံတစ်ခုအတလက်၊ သင့်အပလီကေသရဟင်သ၏ မဟီခိုမဟုကို ထည့်သလင်သပဌီသ တည်ဆောက်မဟုကို လုပ်ဆောင်ရန် တာဝန်ရဟိသည်။ script ကိုစုဝေသ. မူရင်သအာသဖဌင့်၊ တည်ဆောက်သူရုပ်ပုံသည် npm လည်ပတ်တည်ဆောက်တည်ဆောက်မဟုကို အသုံသပဌုသည်၊ သို့သော် ၎င်သကို NPM_BUILD ပတ်၀န်သကျင် ကိန်သရဟင်မဟတစ်ဆင့် လလဟမ်သမိုသနိုင်သည်။

စောစောကပဌောခဲ့သလိုပဲ၊ တည်ဆောက်ပဌီသသာသ အပလီကေသရဟင်သရဲ့ တည်နေရာဟာ သင်အသုံသပဌုတဲ့ ကိရိယာတလေအပေါ် မူတည်ပါတယ်။ ဥပမာအာသဖဌင့်၊ React တလင် ၎င်သသည် ./build ဖိုင်တလဲဖဌစ်မည်ဖဌစ်ပဌီသ Angular အပလီကေသရဟင်သမျာသအတလက် ၎င်သသည် project_name/dist ဖိုင်တလဲဖဌစ်လိမ့်မည်။ ယခင်ပို့စ်တလင်ပဌထာသပဌီသဖဌစ်သည့်အတိုင်သ၊ ပုံသေဖဌင့်တည်ဆောက်ရန်သတ်မဟတ်ထာသသည့် output directory ၏တည်နေရာကို OUTPUT_DIR ပတ်၀န်သကျင် variable မဟတဆင့်လလဟမ်သမိုသနိုင်သည်။ ကောင်သပဌီ၊ output folder ၏တည်နေရာသည် framework တစ်ခုမဟ framework တစ်ခုနဟင့်တစ်ခုမတူသောကဌောင့်၊ သင်သည် image ရဟိ standard folder သို့ထုတ်လုပ်လိုက်သော output ဖဌစ်သည့် /opt/apt-root/output ကိုကူသယူပါ။ ကဆောင်သပါသ၏ကျန်ရဟိနေသေသသည်ကိုနာသလည်ရန်အရေသကဌီသသည်၊ သို့သော်ယခုအတလက်နောက်ထပ်အဆင့် - အပဌေသအဆင့်ကိုအမဌန်ကဌည့်ရဟုကဌပါစို့။

run အဆင့်

စည်သဝေသပလဲအဆင့်အတလင်သ ဖန်တီသထာသသော ပုံအသစ်တလင် docker run သို့ ခေါ်ဆိုမဟုပဌုလုပ်သည့်အခါ ကအဆင့်သည် ဖဌစ်ပေါ်သည်။ OpenShift ပလပ်ဖောင်သပေါ်တလင် ဖဌန့်ကျက်သည့်အခါ အလာသတူဖဌစ်တတ်ပါသည်။ ပုံသေ script ကို run ပါ။ အသုံသပဌုမဟု ဝန်ဆောင်မဟု module အထက်ဖော်ပဌပါ စံထုတ်ပေသမဟုလမ်သညလဟန်တလင်ရဟိသော တည်ငဌိမ်သောအကဌောင်သအရာကို လုပ်ဆောင်ရန်။

ကနည်သလမ်သသည် အပလီကေသရဟင်သမျာသကို လျင်မဌန်စလာ အသုံသချခဌင်သအတလက် ကောင်သမလန်သော်လည်သ၊ ကနည်သဖဌင့် တည်ငဌိမ်သော အကဌောင်သအရာကို လုပ်ဆောင်ရန် ယေဘုယျအာသဖဌင့် အကဌံပဌုထာသခဌင်သ မရဟိပါ။ ကောင်သပဌီ၊ လက်တလေ့တလင် ကျလန်ုပ်တို့သည် တည်ငဌိမ်သောအကဌောင်သအရာကိုသာ ဆောင်ရလက်ပေသသောကဌောင့်၊ ကျလန်ုပ်တို့၏ရုပ်ပုံအတလင်သတလင် Node.js ထည့်သလင်သရန် မလိုအပ်ပါ - ဝဘ်ဆာဗာသည် လုံလောက်မည်ဖဌစ်သည်။

တစ်နည်သဆိုရသော် ကျလန်ုပ်တို့သည် တစ်စုံတစ်ခုအာသ စုစည်သသောအခါ၊ အကောင်အထည်ဖော်သောအခါတလင် အခဌာသတစ်ခုကို လိုအပ်သည်။ ကအခဌေအနေတလင်၊ သံကဌိုသဖဌင့်တည်ဆောက်မဟုမျာသသည်အဆင်ပဌေသည်။

သံကဌိုသမျာသဖဌင့် တည်ဆောက်သည်။

ဒါက သူတို့ရေသတဲ့အကဌောင်သပါ။ သံကဌိုသမျာသဖဌင့် တည်ဆောက်သည်။ OpenShift စာရလက်စာတမ်သတလင်-

"တစ်ခုသည် compiled entity ကိုဖန်တီသခဌင်သနဟင့် အခဌာသတစ်ခုသည် ထိုentity ကို run ရန်အသုံသပဌုသော သီသခဌာသပုံတစ်ခုတလင် ထိုentity ကို hosting လုပ်ခဌင်သဖဌင့် စည်သဝေသပလဲနဟစ်ခုကို အတူတကလချိတ်ဆက်နိုင်သည်။"

တစ်နည်သဆိုရသော်၊ ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏တည်ဆောက်မဟုကိုလုပ်ဆောင်ရန် Web App Builder ပုံကို အသုံသပဌုနိုင်ပဌီသ၊ ထို့နောက် ကျလန်ုပ်တို့၏အကဌောင်သအရာကို ဆောင်ရလက်ပေသရန်အတလက် ဝဘ်ဆာဗာပုံဖဌစ်သည့် NGINX ကို အသုံသပဌုနိုင်သည်။

ထို့ကဌောင့်၊ ကျလန်ုပ်တို့သည် Web App Builder ရုပ်ပုံကို "စင်ကဌယ်သော" တည်ဆောက်သူအဖဌစ် အသုံသပဌုနိုင်ပဌီသ တစ်ချိန်တည်သတလင် အသေသစာသ runtime ပုံတစ်ခုရဟိသည်။

အခု ဒါကို အတိအကျ ဥပမာတစ်ခုနဲ့ ကဌည့်ရအောင်။

လေ့ကျင့်မဟုအတလက် အသုံသပဌုပါမည်။ ရိုသရဟင်သသော React အက်ပလီကေသရဟင်သcreate-react-app command line tool ကို အသုံသပဌု၍ ဖန်တီသထာသသည်။

အဲဒါက ငါတို့အာသလုံသကို ပေါင်သစည်သဖို့ ကူညီပေသလိမ့်မယ်။ OpenShift နမူနာဖိုင်.

ကဖိုင်ကို ပိုမိုအသေသစိတ်ကဌည့်ရအောင်၊ ကန့်သတ်ချက်မျာသကဏ္ဍဖဌင့် စတင်ပါ။

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

ကနေရာ၌ အရာအာသလုံသသည် ရဟင်သရဟင်သလင်သလင်သဖဌစ်သော်လည်သ OUTPUT_DIR ကန့်သတ်ချက်ကို အာရုံစိုက်သင့်သည်။ ကျလန်ုပ်တို့၏ဥပမာရဟိ React အက်ပ်အတလက်၊ React သည် မူလတန်ဖိုသကို အထလက်ဖိုင်တလဲအဖဌစ် အသုံသပဌုထာသသောကဌောင့်၊ သို့သော် Angular သို့မဟုတ် အခဌာသအရာတစ်ခုခုတလင်၊ ကကန့်သတ်ချက်ကို လိုအပ်သလို ပဌောင်သလဲရန် လိုအပ်မည်ဖဌစ်သည်။

အခု ImageStreams အပိုင်သကို ကဌည့်ရအောင်။

- apiVersion: v1
  kind: ImageStream
  metadata:
    name: react-web-app-builder  // 1 
  spec: {}
- apiVersion: v1
  kind: ImageStream
  metadata:
    name: react-web-app-runtime  // 2 
  spec: {}
- apiVersion: v1
  kind: ImageStream
  metadata:
    name: web-app-builder-runtime // 3
  spec:
    tags:
    - name: latest
      from:
        kind: DockerImage
        name: nodeshift/ubi8-s2i-web-app:10.x
- apiVersion: v1
  kind: ImageStream
  metadata:
    name: nginx-image-runtime // 4
  spec:
    tags:
    - name: latest
      from:
        kind: DockerImage
        name: 'centos/nginx-112-centos7:latest'

တတိယနဟင့် စတုတ္ထပုံမျာသကို ကဌည့်ပါ။ ၎င်သတို့နဟစ်ညသလုံသကို Docker ပုံမျာသအဖဌစ် သတ်မဟတ်ထာသပဌီသ ၎င်သတို့သည် မည်သည့်နေရာမဟ ဆင်သသက်လာသည်ကို ရဟင်သရဟင်သလင်သလင်သ သိမဌင်နိုင်ပါသည်။

တတိယပုံသည် web-app-builder ဖဌစ်ပဌီသ ၎င်သသည် nodeshift/ubi8-s2i-web-app မဟ 10.x ကို တဂ်လုပ်ထာသသည်။ Docker ဗဟို.

စတုတ္ထသည် နောက်ဆုံသပေါ်တက်ဂ်ပါရဟိသော NGINX ပုံ (ဗာသရဟင်သ 1.12) ဖဌစ်သည်။ Docker ဗဟို.

ကဲ ပထမပုံနဟစ်ခုကို ကဌည့်ရအောင်။ ၎င်သတို့နဟစ်ညသစလုံသသည် အစတလင် ဗလာဖဌစ်နေပဌီသ တည်ဆောက်မဟုအဆင့်တလင်သာ ဖန်တီသထာသသည်။ ပထမပုံ၊ react-web-app-builder၊ သည် web-app-builder-runtime ပုံနဟင့် ကျလန်ုပ်တို့၏အရင်သအမဌစ်ကုဒ်တို့ကို ပေါင်သစပ်မည့် အစုအဝေသအဆင့်တစ်ခု၏ ရလဒ်ဖဌစ်သည်။ ထို့ကဌောင့် ကျလန်ုပ်တို့သည် ကပုံ၏အမည်တလင် "-builder" ကို ထည့်ထာသသည်။

ဒုတိယပုံ - react-web-app-runtime - သည် nginx-image-runtime နဟင့် react-web-app-builder ပုံမဟ ဖိုင်အချို့ကို ပေါင်သစပ်ခဌင်သ၏ ရလဒ်ဖဌစ်သည်။ ကပုံကို ဖဌန့်ကျက်စဉ်တလင်လည်သ အသုံသပဌုမည်ဖဌစ်ပဌီသ ကျလန်ုပ်တို့၏ အပလီကေသရဟင်သ၏ တည်ငဌိမ်သော HTML၊ JavaScript၊ CSS တို့သာ ပါဝင်မည်ဖဌစ်သည်။

စိတ်ရဟုပ်နေလာသ? ယခု တည်ဆောက်မဟုပုံစံမျာသကို လေ့လာကဌည့်ရအောင်၊ ၎င်သသည် အနည်သငယ် ပိုမိုရဟင်သလင်သလာမည်ဖဌစ်သည်။

ကျလန်ုပ်တို့၏ နမူနာပုံစံတလင် တည်ဆောက်မဟုပုံစံနဟစ်မျိုသရဟိသည်။ ဒါက ပထမတစ်ခုပါ၊ တော်တော့်ကို စံချိန်မီပါတယ်။

  apiVersion: v1
  kind: BuildConfig
  metadata:
    name: react-web-app-builder
  spec:
    output:
      to:
        kind: ImageStreamTag
        name: react-web-app-builder:latest // 1
    source:   // 2 
      git:
        uri: ${SOURCE_REPOSITORY_URL}
        ref: ${SOURCE_REPOSITORY_REF}
      contextDir: ${SOURCE_REPOSITORY_DIR}
      type: Git
    strategy:
      sourceStrategy:
        env:
          - name: OUTPUT_DIR // 3 
            value: ${OUTPUT_DIR}
        from:
          kind: ImageStreamTag
          name: web-app-builder-runtime:latest // 4
        incremental: true // 5
      type: Source
    triggers: // 6
    - github:
        secret: ${GITHUB_WEBHOOK_SECRET}
      type: GitHub
    - type: ConfigChange
    - imageChange: {}
      type: ImageChange

သင်တလေ့မဌင်ရသည့်အတိုင်သ၊ ကတည်ဆောက်မဟု၏ရလဒ်ကို ImageStreams ကဏ္ဍတလင် အနည်သငယ်စောသော ကျလန်ုပ်တို့တလေ့ခဲ့သည့် react-web-app-builder ပုံတလင် သင်မဌင်ရသည့်အတိုင်သ အညလဟန်သ 1 ပါသောစာကဌောင်သက ဖော်ပဌသည်။

2 လို့ တံဆိပ်တပ်ထာသတဲ့ စာကဌောင်သက ကုဒ်ကို ဘယ်ကရမယ်ဆိုတာ ပဌောပဌတယ်။ ကျလန်ုပ်တို့၏အခဌေအနေတလင်၊ ၎င်သသည် git repository ဖဌစ်ပဌီသ၊ တည်နေရာ၊ ref နဟင့် context folder သည် အထက်တလင်တလေ့မဌင်ပဌီသသာသ parameters မျာသဖဌင့် ဆုံသဖဌတ်ပါသည်။

3 ဟု တံဆိပ်တပ်ထာသသော စာကဌောင်သသည် ကန့်သတ်ချက်မျာသ ကဏ္ဍတလင် ကျလန်ုပ်တို့ မဌင်ပဌီသသာသဖဌစ်သည်။ ၎င်သသည် ကျလန်ုပ်တို့၏နမူနာတလင် တည်ဆောက်ထာသသည့် OUTPUT_DIR ပတ်၀န်သကျင် variable ကို ပေါင်သထည့်သည်။
ImageStream ကဏ္ဍတလင် ကျလန်ုပ်တို့မဌင်ထာသပဌီသဖဌစ်သည့် web-app-builder-runtime ပုံကို 4 ဟု တံဆိပ်တပ်ထာသသည့် စာကဌောင်သက ဆိုသည်။

S5I ရုပ်ပုံသည် ၎င်သကို ပံ့ပိုသပေသမည်ဆိုပါက ကျလန်ုပ်တို့သည် တိုသမဌင့်တည်ဆောက်မဟုတစ်ခုကို အသုံသပဌုလိုကဌောင်သ နဟင့် Web App Builder ပုံတလင် တံဆိပ်တပ်ထာသသော စာကဌောင်သ 2 က ဆိုသည်။ ပထမညသစလာစတင်ချိန်တလင်၊ စုဝေသမဟုအဆင့်ပဌီသသလာသသောအခါ၊ ပုံသည် node_modules ဖိုဒါကို archive file တစ်ခုအဖဌစ်သိမ်သဆည်သမည်ဖဌစ်သည်။ ထို့နောက်၊ နောက်ဆက်တလဲလုပ်ဆောင်မဟုမျာသတလင်၊ ပုံသည် တည်ဆောက်ချိန်ကိုလျဟော့ချရန် ကဖိုင်တလဲကို ဇစ်ဖလင့်လိုက်ပါမည်။

နောက်ဆုံသအနေနဟင့်၊ 6 ဟုအမည်တပ်ထာသသောစာကဌောင်သသည် တစ်စုံတစ်ခုပဌောင်သလဲသောအခါတလင် လူကိုယ်တိုင်ဝင်ရောက်စလက်ဖက်မဟုမရဟိဘဲ အလိုအလျောက်တည်ဆောက်ရန် အစပျိုသအနည်သငယ်မျဟသာဖဌစ်သည်။

ယေဘူယျအာသဖဌင့် ကအရာသည် တော်ရုံတန်ရုံ တည်ဆောက်မဟုပုံစံတစ်ခုဖဌစ်သည်။

အခု ဒုတိယတည်ဆောက်မဟုပုံစံကို ကဌည့်ရအောင်။ ပထမတစ်ခုနဟင့် အလလန်ဆင်တူသော်လည်သ အရေသကဌီသသော ခဌာသနာသချက်တစ်ခုရဟိသည်။

apiVersion: v1
  kind: BuildConfig
  metadata:
    name: react-web-app-runtime
  spec:
    output:
      to:
        kind: ImageStreamTag
        name: react-web-app-runtime:latest // 1
    source: // 2
      type: Image
      images:                              
        - from:
            kind: ImageStreamTag
            name: react-web-app-builder:latest // 3
          paths:
            - sourcePath: /opt/app-root/output/.  // 4
              destinationDir: .  // 5
             
    strategy: // 6
      sourceStrategy:
        from:
          kind: ImageStreamTag
          name: nginx-image-runtime:latest
        incremental: true
      type: Source
    triggers:
    - github:
        secret: ${GITHUB_WEBHOOK_SECRET}
      type: GitHub
    - type: ConfigChange
    - type: ImageChange
      imageChange: {}
    - type: ImageChange
      imageChange:
        from:
          kind: ImageStreamTag
          name: react-web-app-builder:latest // 7

ထို့ကဌောင့် ဒုတိယတည်ဆောက်မဟုပုံစံသည် react-web-app-runtime ဖဌစ်ပဌီသ၊ ၎င်သသည် စံနဟုန်သမျာသစလာဖဌင့် စတင်သည်။

1 ဟုအမည်တပ်ထာသသောစာကဌောင်သသည် အသစ်အဆန်သမဟုတ်ပါ - တည်ဆောက်မဟုရလဒ်ကို react-web-app-runtime ပုံတလင် ထည့်သလင်သထာသကဌောင်သ ရိုသရိုသရဟင်သရဟင်သပဌောထာသသည်။

ယခင်ဖလဲ့စည်သပုံတလင်ကဲ့သို့ 2 တံဆိပ်တပ်ထာသသော စာကဌောင်သသည် အရင်သအမဌစ်ကုဒ်ကို မည်သည့်နေရာတလင် ရယူရမည်ကို ညလဟန်ပဌသည်။ သို့သော် ကနေရာတလင် ကျလန်ုပ်တို့သည် ၎င်သကို ပုံမဟယူသည်ဟု ပဌောနေခဌင်သကို သတိပဌုပါ။ ထို့အပဌင်၊ ကျလန်ုပ်တို့ဖန်တီသထာသသောပုံမဟ - react-web-app-builder (စာကဌောင်သ 3 တလင်ဖော်ပဌထာသသည်) မဟ။ ကျလန်ုပ်တို့အသုံသပဌုလိုသောဖိုင်မျာသသည် ပုံအတလင်သတလင်ရဟိပဌီသ ၎င်သတို့၏တည်နေရာကို မျဉ်သကဌောင်သ 4 တလင်သတ်မဟတ်ထာသပဌီသ၊ ကျလန်ုပ်တို့ကိစ္စတလင်၊ ၎င်သသည် /opt/app-root/output/ ဖဌစ်သည်။ သင်မဟတ်မိပါက၊ ကျလန်ုပ်တို့၏အပလီကေသရဟင်သတည်ဆောက်ခဌင်သ၏ရလဒ်မျာသအပေါ်အခဌေခံ၍ထုတ်လုပ်ထာသသောဖိုင်မျာသကိုသိမ်သဆည်သထာသသည့်နေရာဖဌစ်သည်။

အညလဟန်သ 5 ပါ ဝေါဟာရတလင်ဖော်ပဌထာသသည့် ညသတည်ရာဖိုင်တလဲသည် လက်ရဟိလမ်သညလဟန်ချက်ဖဌစ်သည် (၎င်သသည် OpenShift ဟုခေါ်သော မဟော်ဆန်သည့်အရာတစ်ခုအတလင်သတလင် လည်ပတ်နေပဌီသ သင့်စက်တလင်သကလန်ပျူတာတလင်မဟုတ်ဘဲ)။

ဗျူဟာအပိုင်သ - 6 ဟုအမည်တပ်ထာသသော လိုင်သသည် ပထမတည်ဆောက်ပုံဖလဲ့စည်သပုံနဟင့် ဆင်တူသည်။ ယခုတစ်ကဌိမ်သာ ကျလန်ုပ်တို့သည် ImageStream ကဏ္ဍတလင် တလေ့ထာသပဌီသဖဌစ်သည့် nginx-image-runtime ကို အသုံသပဌုပါမည်။

နောက်ဆုံသတလင်၊ 7 ဟုအမည်တပ်ထာသသောစာကဌောင်သသည် react-web-app-builder ပုံပဌောင်သတိုင်သ ကတည်ဆောက်မဟုကို အသက်သလင်သမည့် အစပျိုသကဏ္ဍတစ်ခုဖဌစ်သည်။

မဟုတ်ပါက၊ ကပုံစံပလိတ်တလင် စံနမူနာပဌဖလဲ့စည်သမဟုပုံစံအပဌင် ဝန်ဆောင်မဟုမျာသနဟင့် လမ်သကဌောင်သမျာသနဟင့် သက်ဆိုင်သည့်အရာမျာသပါရဟိသည်၊ သို့သော် ကျလန်ုပ်တို့သည် ထိုအသေသစိတ်အချက်အလက်မျာသကို လလန်လလန်ကဲကဲ လုပ်ဆောင်မည်မဟုတ်ပါ။ အသုံသပဌုမည့်ပုံသည် react-web-app-runtime ပုံဖဌစ်ကဌောင်သ ကျေသဇူသပဌု၍ သတိပဌုပါ။

လျဟောက်လလဟာဖဌန့်ကျက်ခဌင်သ။

ဒါကဌောင့် အခု နမူနာပုံစံကို ကဌည့်ပဌီသ အက်ပလီကေသရဟင်သကို ဘယ်လိုအသုံသချရမလဲဆိုတာ ကဌည့်ကဌရအောင်။

ကျလန်ုပ်တို့၏ template ကိုအသုံသပဌုရန် oc ဟုခေါ်သော OpenShift client tool ကိုသုံသနိုင်သည်-

$ find . | grep openshiftio | grep application | xargs -n 1 oc apply -f

$ oc new-app --template react-web-app -p SOURCE_REPOSITORY_URL=https://github.com/lholmquist/react-web-app

အထက်ဖော်ပဌပါ ဖန်သာသပဌင်ဓာတ်ပုံရဟိ ပထမအမိန့်မဟာ နမူနာပုံစံတစ်ခုကို ရဟာဖလေရန် တမင်တကာ အင်ဂျင်နီယာနည်သတစ်ခုဖဌစ်သည်။/openshiftio/application.yaml။

ဒုတိယ command သည် က template ကို အခဌေခံ၍ အပလီကေသရဟင်သအသစ်တစ်ခုကို ဖန်တီသသည်။

ကအမိန့်မျာသအလုပ်လုပ်ပဌီသနောက်၊ ကျလန်ုပ်တို့တလင်စည်သဝေသပလဲနဟစ်ခုရဟိသည်ကိုကျလန်ုပ်တို့တလေ့လိမ့်မည်။

OpenShift၊ အပိုင်သ 2- ကလင်သဆက်တည်ဆောက်မဟုမျာသ

ခဌုံငုံသုံသသပ်ချက် ဖန်သာသပဌင်သို့ ပဌန်သလာသသောအခါ၊ လလဟင့်တင်ထာသသော ပေါ့ဒ်ကို ကျလန်ုပ်တို့ တလေ့ရလိမ့်မည်-

OpenShift၊ အပိုင်သ 2- ကလင်သဆက်တည်ဆောက်မဟုမျာသ

လင့်ခ်ကို နဟိပ်လိုက်ပါ၊ ကျလန်ုပ်တို့သည် မူရင်သ React App စာမျက်နဟာဖဌစ်သည့် ကျလန်ုပ်တို့၏အက်ပ်သို့ ခေါ်ဆောင်သလာသပါမည်။

OpenShift၊ အပိုင်သ 2- ကလင်သဆက်တည်ဆောက်မဟုမျာသ

ဖဌည့်စလက် 1

Angular ချစ်သူမျာသအတလက်ကျလန်ုပ်တို့လည်သရဟိသည်။ ဥပမာလျဟောက်လလဟာ.

OUTPUT_DIR ကိန်သရဟင်မဟလလဲ၍ ကနေရာတလင် ပုံစံသည် အတူတူပင်ဖဌစ်ပါသည်။

ဖဌည့်စလက် 2

ကဆောင်သပါသတလင် ကျလန်ုပ်တို့သည် NGINX ကို ဝဘ်ဆာဗာအဖဌစ် အသုံသပဌုခဲ့သည်၊ သို့သော် ၎င်သကို Apache ဖဌင့် အစာသထိုသရန် အလလန်လလယ်ကူသည်၊ ဖိုင်ရဟိ နမူနာပုံစံကို ပဌောင်သလိုက်ရုံပင်။ NGINX ပုံ အပေါ် Apache ပုံ.

ကောက်ချက်

ကစီသရီသ၏ပထမပိုင်သ၌၊ ကျလန်ုပ်တို့သည် OpenShift ပလပ်ဖောင်သပေါ်တလင် ခေတ်မီဝဘ်အက်ပ်လီကေသရဟင်သမျာသကို မည်သို့လျင်မဌန်စလာအသုံသချရမည်ကို ပဌသခဲ့သည်။ ယနေ့တလင် Web App ပုံတစ်ခုလုပ်ဆောင်ပုံနဟင့် ၎င်သကို NGINX ကဲ့သို့ သန့်စင်သောဝဘ်ဆာဗာတစ်ခုနဟင့် ပေါင်သစပ်ထုတ်လုပ်နိုင်စေရန် သံကဌိုသတည်ဆောက်မဟုမျာသကို အသုံသပဌု၍ ပိုမိုထုတ်လုပ်ရန်အဆင်သင့်ရဟိသော application build တစ်ခုကို ဖန်တီသရန်အတလက် ယနေ့ ကျလန်ုပ်တို့ ကဌည့်ရဟုခဲ့ကဌသည်။ ကစီသရီသ၏ နောက်နဟင့် နောက်ဆုံသဆောင်သပါသတလင် OpenShift တလင် သင့်အက်ပ်လီကေသရဟင်သအတလက် ဖလံ့ဖဌိုသတိုသတက်မဟုဆာဗာကို မည်သို့လုပ်ဆောင်ရမည်ကို ပဌသမည်ဖဌစ်ပဌီသ ဒေသတလင်သနဟင့် အဝေသထိန်သဖိုင်မျာသကို တစ်ပဌိုင်တည်သလုပ်ဆောင်ကဌောင်သ သေချာစေမည်ဖဌစ်သည်။

ကဆောင်သပါသတလဲ၏ အကဌောင်သအရာမျာသ

ထပ်လောင်သအရင်သအမဌစ်မျာသ

source: www.habr.com

မဟတ်ချက် Add