Search code examples
node.jsgoogle-app-enginedeployment

App engine deployment down with "The Node.js binary could not be verified"


My app engine deployment (flexible environment, node js 12) has suddenly started failing, seemingly due to an issue with node js on the google side.

Build output here:

Step #1: Already have image (with digest): gcr.io/kaniko-project/executor@sha256:f87c11770a4d3ed33436508d206c584812cd656e6ed08eda1cff5c1ee44f5870
Step #1: [36mINFO[0m[0000] Removing ignored files from build context: [node_modules .dockerignore Dockerfile npm-debug.log yarn-error.log .git .hg .svn app.yaml]
Step #1: [36mINFO[0m[0004] Downloading base image gcr.io/google-appengine/nodejs@sha256:ef8be7b4dc77c3e71fbc85ca88186b13214af8f83b8baecc65e8ed85bb904ad5
Step #1: [36mINFO[0m[0019] Taking snapshot of full filesystem...
Step #1: [36mINFO[0m[0035] Using files from context: [/workspace]
Step #1: [36mINFO[0m[0036] COPY . /app/
Step #1: [36mINFO[0m[0036] Taking snapshot of files...
Step #1: [36mINFO[0m[0037] RUN /usr/local/bin/install_node '>=12.0.0'
Step #1: [36mINFO[0m[0037] cmd: /bin/sh
Step #1: [36mINFO[0m[0037] args: [-c /usr/local/bin/install_node '>=12.0.0']
Step #1:   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Step #1:                                  Dload  Upload   Total   Spent    Left  Speed
100 32.1M  100 32.1M    0     0  66.9M      0 --:--:-- --:--:-- --:--:-- 66.8M
Step #1:   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Step #1:                                  Dload  Upload   Total   Spent    Left  Speed
100  3838  100  3838    0     0  23116      0 --:--:-- --:--:-- --:--:-- 23260
Step #1: gpg: Signature made Tue Sep 8 15:43:07 2020 UTC using RSA key ID C17AB93C gpg: Can't check signature: public key not found
Step #1: The Node.js binary could not be verified.
Step #1: This means it may not be an officially released Node.js binary
Step #1: or may have been tampered with.
Step #1:
Step #1: Aborting the installation.
Step #1:
Step #1: The installation can be forced using the --ignore-verification-failure
Step #1: flag. However, it is strongly recommended that you install a version
Step #1: of Node.js that can be verified.
Step #1:
Step #1: Node installation failed: /opt/gcp/runtime/bootstrap_node exited with a non-zero exit code: 1
Step #1: error building image: error building stage: waiting for process to exit: exit status 1
Finished Step #1
ERROR
ERROR: build step 1 "gcr.io/kaniko-project/executor@sha256:f87c11770a4d3ed33436508d206c584812cd656e6ed08eda1cff5c1ee44f5870" failed: step exited with non-zero status: 1
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Is anybody else seeing this issue?

Thanks

Chris


Solution

  • In our case, the thing was that App Engine installed Node 14.10.0 because we had "node": "14.x" in the package.json. Seems like the latest release has some issues.

    I fixed deploy by changing the engine to a fixed version:

    "engines": {
        "node": "14.9"
    }
    

    If you are using 12.x - try some of the previous version that worked.