在部署Cloud Build后,Firebase Cloud功能停止工作

问题描述

我正在使用Cloud Build部署我的firebase项目(托管和云功能),该项目由提交到github存储库中的分支触发了。部署成功,站点可以运行,但是云功能在部署后无法运行。它们甚至不会在被调用显示在日志中,因此没有错误

我从UI中单击一个调用功能的按钮,该功能将一些数据保存到实时数据库中。调用函数代码在try catch中运行,并且catch代码运行。云功能的日志什么也没有显示-该功能甚至没有运行。然后,当我从笔记本电脑而不是通过云构建在本地部署项目时,单击按钮并将数据保存到数据库,并且日志指示已调用功能时,云功能就会运行。从前端触发事件时不会调用任何云功能,但是当我从Cloud Build进行部署时

仅当Cloud Build部署了项目时,函数才在调用时不运行。我想知道这是否可能是权限问题?

前端代码

 const createTeam = (payload) => {
  return async (dispatch,getState,getFirebase) => {
    debugger;
    const createTeam = getFirebase().functions().httpsCallable("createTeam");
    console.log("create team===>",createTeam);
    try {
      console.log("about to run");
      await createTeam(payload);
      dispatch(
        sendNotification({
          severity: "success",message: "Team Created",isOpen: true,})
      );
    } catch (e) {
      dispatch(
        sendNotification({
          severity: "error",message: "An error occurred and team was not created.",})
      );
    }
  };
};

构建文件

steps:
  - name: "gcr.io/cloud-builders/npm"
    dir: "functions"
    args: ["install"]
  # Install
  - name: "gcr.io/cloud-builders/npm"
    args: ["install"]
  # Build
  - name: "gcr.io/cloud-builders/npm"
    args: ["run","build"]
  # Deploy
  - name: "gcr.io/$PROJECT_ID/firebase"
    args: ["deploy","--project=$PROJECT_ID"]

来自部署日志:

    Hosting URL: xxxx
Project Console: xxxx
✔  Deploy complete!

✔  hosting[agile-boost]: release complete
i  hosting[agile-boost]: releasing new version...
✔  hosting[agile-boost]: version finalized
i  hosting[agile-boost]: finalizing version...
✔  functions[launchAssessments(us-central1)]: Successful update operation. 
✔  functions[createTeam(us-central1)]: Successful update operation. 
✔  functions[sendParticipantEmailWhenAssessmentOpens(us-central1)]: Successful update operation. 
✔  functions[completeAssessments(us-central1)]: Successful update operation. 
✔  functions[refreshMetricCategoryAvg(us-central1)]: Successful update operation. 
✔  functions[saveParticipantAnswer(us-central1)]: Successful update operation. 
✔  functions[updateParticipant(us-central1)]: Successful update operation. 
✔  functions[closeAssessmentsWhenTeamIsDeleted(us-central1)]: Successful update operation. 
✔  functions[getParticipantsData(us-central1)]: Successful update operation. 
✔  functions[createAccount(us-central1)]: Successful update operation. 
✔  functions[addParticipantToAssessment(us-central1)]: Successful update operation. 
✔  functions[createAssessment(us-central1)]: Successful update operation. 
✔  functions[reviseAssessmentMetrics(us-central1)]: Successful update operation. 
✔  functions[refreshMetricQuestionAvg(us-central1)]: Successful update operation. 
✔  functions[updateParticipantWhenTeamParticipantUpdates(us-central1)]: Successful update operation. 
✔  functions[refreshMetricTagAvg(us-central1)]: Successful update operation. 
✔  functions[updateMetricsWhenParticipantStatusChanges(us-central1)]: Successful update operation. 
✔  functions[addNewTeamParticipantToActiveAssessments(us-central1)]: Successful update operation. 
✔  functions[getSurveyData(us-central1)]: Successful update operation. 
i  functions: scheduler job firebase-schedule-completeAssessments-us-central1 is up to date,no changes required
i  functions: scheduler job firebase-schedule-launchAssessments-us-central1 is up to date,no changes required
✔  pubsub: required API pubsub.googleapis.com is enabled
✔  scheduler: required API cloudscheduler.googleapis.com is enabled
i  pubsub: ensuring required API pubsub.googleapis.com is enabled...
i  scheduler: ensuring required API cloudscheduler.googleapis.com is enabled...
i  functions: updating Node.js 10 function completeAssessments(us-central1)...
i  functions: updating Node.js 10 function launchAssessments(us-central1)...
i  functions: updating Node.js 10 function getParticipantData(us-central1)...
i  functions: updating Node.js 10 function getParticipantsData(us-central1)...
i  functions: updating Node.js 10 function closeAssessmentsWhenTeamIsDeleted(us-central1)...
i  functions: updating Node.js 10 function updateParticipantWhenTeamParticipantUpdates(us-central1)...
i  functions: updating Node.js 10 function updateMetricsWhenParticipantStatusChanges(us-central1)...
i  functions: updating Node.js 10 function sendParticipantEmailWhenAssessmentOpens(us-central1)...
i  functions: updating Node.js 10 function addNewTeamParticipantToActiveAssessments(us-central1)...
i  functions: updating Node.js 10 function saveParticipantAnswer(us-central1)...
i  functions: updating Node.js 10 function getSurveyData(us-central1)...
i  functions: updating Node.js 10 function updateParticipant(us-central1)...
i  functions: updating Node.js 10 function addParticipantToAssessment(us-central1)...
i  functions: updating Node.js 10 function createAssessment(us-central1)...
i  functions: updating Node.js 10 function createTeam(us-central1)...
i  functions: updating Node.js 10 function createAccount(us-central1)...
i  functions: updating Node.js 10 function reviseAssessmentMetrics(us-central1)...
i  functions: updating Node.js 10 function refreshMetricQuestionAvg(us-central1)...
i  functions: updating Node.js 10 function refreshMetricTagAvg(us-central1)...
i  functions: updating Node.js 10 function refreshMetricCategoryAvg(us-central1)...
✔  database: rules for database xxxx released successfully
i  database: releasing rules...
✔  hosting[agile-boost]: file upload complete
i  hosting: uploading new files [4/6] (66%)
i  hosting: hashing files [34/35] (97%)
i  hosting: hashing files [34/35] (97%)
i  hosting[agile-boost]: found 35 files in build
i  hosting[agile-boost]: beginning deploy...
✔  functions: functions folder uploaded successfully
i  functions: packaged functions (52.61 KB) for uploading
i  functions: preparing functions directory for uploading...
✔  functions: required API cloudbuild.googleapis.com is enabled
✔  functions: required API cloudfunctions.googleapis.com is enabled
i  functions: ensuring required API cloudbuild.googleapis.com is enabled...
i  functions: ensuring required API cloudfunctions.googleapis.com is enabled...
✔  database: rules Syntax for database agile-boost is valid
i  database: checking rules Syntax...
✔  functions: Finished running predeploy script.

> tsc
> functions@ build /workspace/functions

Running command: npm --prefix "$RESOURCE_DIR" run build

> tslint --project tsconfig.json
> functions@ lint /workspace/functions

Running command: npm --prefix "$RESOURCE_DIR" run lint
i  deploying database,functions,hosting

=== deploying to 'xxxx'...

gcr.io/agile-boost/firebase:latest
Status: Downloaded newer image for gcr.io/agile-boost/firebase:latest
Digest: sha256:063a10dfecc2b3bb4245316fb89ae1588f594bb8bb6e950ecf6a9488015e20bb
38ee9b020816: Pull complete
ddf8c3713c7d: Pull complete
9819791ca1ba: Pull complete
19c9987a828c: Pull complete
40ba0f817ab5: Pull complete
8cdf70a16731: Pull complete
9819791ca1ba: Download complete
9819791ca1ba: Verifying Checksum
8cdf70a16731: Download complete
8cdf70a16731: Verifying Checksum
38ee9b020816: Download complete
38ee9b020816: Verifying Checksum
ddf8c3713c7d: Download complete
ddf8c3713c7d: Verifying Checksum
40ba0f817ab5: Download complete
40ba0f817ab5: Verifying Checksum
19c9987a828c: Download complete
19c9987a828c: Verifying Checksum
38ee9b020816: Waiting
ddf8c3713c7d: Waiting
9819791ca1ba: Waiting
38ee9b020816: Pulling fs layer
ddf8c3713c7d: Pulling fs layer
9819791ca1ba: Pulling fs layer
19c9987a828c: Pulling fs layer
40ba0f817ab5: Pulling fs layer
8cdf70a16731: Pulling fs layer
e5c5821cd889: Already exists
55abbc6cc158: Already exists
8439168fd8dc: Already exists
c159512f4cc2: Already exists
1b49aa113642: Already exists
4f250268ed6a: Already exists
latest: Pulling from agile-boost/firebase
Using default tag: latest
Pulling image: gcr.io/agile-boost/firebase

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)