如何解决在部署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 举报,一经查实,本站将立刻删除。