代码之家  ›  专栏  ›  技术社区  ›  ajonp

Google Cloud Builder-Angular CLI Firebase CLI

  •  0
  • ajonp  · 技术社区  · 6 年前

    尝试查看是否需要使用两个单独的映像来构建Angular应用程序,使用Angular CLI和使用Firebase CLI进行部署。我是否应该在每次构建时都构建图像?如果是这样的话,我应该在之后运行清理以移除它们(如何)?

    当前cloudbuild。亚马尔

    steps:
    - name: 'gcr.io/cloud-builders/docker'
      args: [ 'build', '-t', 'gcr.io/$PROJECT_ID/firebase', '.' ]
      dir: 'docker/firebase'
    - name: 'gcr.io/cloud-builders/docker'
      args: ["push", "gcr.io/$PROJECT_ID/firebase"]
    - name: 'gcr.io/cloud-builders/docker'
      args: [ 'build', '-t', 'gcr.io/$PROJECT_ID/ng', '.' ]
      dir: 'docker/ng'
    - name: 'gcr.io/cloud-builders/docker'
      args: ["push", "gcr.io/$PROJECT_ID/ng"]
    - name: 'gcr.io/cloud-builders/npm'
      args: ['install']
    - name: 'gcr.io/cloud-builders/npm'
      args: ['install','--prefix','functions']
    - name: 'gcr.io/$PROJECT_ID/ng'
      args: ['build','${_NG_ENV}',"${_NG_TARGET}"]
    - name: 'gcr.io/$PROJECT_ID/firebase'
      args: [ 'deploy', '-P', '${_FIREBASE_ENV}', '--token', '${_FIREBASE_TOKEN}']
    

    Firebase Docker

    # use latest Node LTS (Boron)
    FROM node:carbon
    # install Firebase CLI
    RUN npm install -g firebase-tools
    
    ENTRYPOINT ["/usr/local/bin/firebase"]
    

    角度装卸工

    # use latest Node LTS 
    FROM node:carbon
    # install Angular CLI
    RUN npm install -g @angular/cli
    
    ENTRYPOINT ["/usr/local/bin/ng"]
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   ajonp    6 年前

    我的误解围绕着 entrypoints

    我在angular install中也遇到了一个错误,并找到了一个修复程序,所以这里有两个CLI的新dockerfile。

    Dockerfile文件

    # use latest Node LTS (Boron)
    FROM node:carbon
    
    # install Angular CLI
    RUN npm install -g @angular/cli --unsafe
    
    # install Firebase CLI
    RUN npm install -g firebase-tools
    

    cloudbuild。亚马尔

    steps:
    - name: 'gcr.io/cloud-builders/docker'
      args: [ 'build', '-t', 'gcr.io/$PROJECT_ID/firebase', '.' ]
    - name: 'gcr.io/cloud-builders/docker'
      args: ["push", "gcr.io/$PROJECT_ID/firebase"]
    - name: 'gcr.io/cloud-builders/npm'
      args: ['install']
    - name: 'gcr.io/cloud-builders/npm'
      args: ['install','--prefix','functions']
    - name: 'gcr.io/$PROJECT_ID/firebase'
      args: ['/usr/local/bin/ng','build','${_NG_ENV}',"${_NG_TARGET}"]
    - name: 'gcr.io/$PROJECT_ID/firebase'
      args: [ '/usr/local/bin/firebase','deploy', '-P', '${_FIREBASE_ENV}', '--token', '${_FIREBASE_TOKEN}']