Google Cloud Builder - Angular CLI Firebase CLI
Google Cloud Builder - Angular CLI Firebase CLI
尝试查看我是否需要使用两个单独的图像来构建 Angular 应用程序,使用 Angular CLI 并使用 Firebase CLI 进行部署。而且我什至应该在每次构建时构建图像吗?如果是这样,我还应该 运行 清除它们(如何)?
当前 cloudbuild.yaml
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"]
Angular Docker
# use latest Node LTS
FROM node:carbon
# install Angular CLI
RUN npm install -g @angular/cli
ENTRYPOINT ["/usr/local/bin/ng"]
我的误解是关于 entrypoints
我在安装 angular 时也遇到了错误并找到了修复,所以这里是带有两个 CLI 的新 dockerfile。
Docker 文件
# 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.yaml
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}']
尝试查看我是否需要使用两个单独的图像来构建 Angular 应用程序,使用 Angular CLI 并使用 Firebase CLI 进行部署。而且我什至应该在每次构建时构建图像吗?如果是这样,我还应该 运行 清除它们(如何)?
当前 cloudbuild.yaml
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"]
Angular Docker
# use latest Node LTS
FROM node:carbon
# install Angular CLI
RUN npm install -g @angular/cli
ENTRYPOINT ["/usr/local/bin/ng"]
我的误解是关于 entrypoints
我在安装 angular 时也遇到了错误并找到了修复,所以这里是带有两个 CLI 的新 dockerfile。
Docker 文件
# 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.yaml
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}']