I have a custom build step in Google Cloud Build, which first builds a docker image and then deploys it as a cloud run service.
This last step fails, with the following log output;
Step #2: Deploying... Step #2: Setting IAM Policy.........done Step 2: Creating Revision............................................................................................................................failed Step #2: Deployment failed Step #2: ERROR: (gcloud.run.deploy) Cloud Run error: Invalid argument error. Invalid ENTRYPOINT. [name: "gcr.io/opencobalt/silo@sha256:fb860e758eb1957b90ff3761fcdf68dedb9d10f832f2bb21375915d3de2aaed5" Step #2: error: "Invalid command \"/bin/sh\": file not found" Step #2: ]. Finished Step #2 ERROR ERROR: build step 2 "gcr.io/cloud-builders/gcloud" failed: step exited with non-zero status: 1
The build steps look like this;
["run","deploy","silo","--image","gcr.io/opencobalt/silo","--region","us-central1","--platform","managed","--allow-unauthenticated"]}
The image is built an exists in the registry, and if I change the last build step to deploy a compute engine VM instead, it works. Those build steps looks like this;
{"name":"gcr.io/cloud-builders/gcloud","args":["compute","instances", "create-with-container","silo","--container-image","gcr.io/opencobalt/silo","--zone","us-central1-a","--tags","silo,pharo"]}
I can also build the image locally but run into the same error when running gcloud run deploy locally.
I am trying to figure out how to solve this problem. The image works, since it runs fine locally and runs fine when deployed as a Compute Engine VM, the error only show up when I'm trying to deploy the image as a Cloud Run service.
(added) The Dockerfile looks like this;
###################################### # Based on Ubuntu image ###################################### FROM ubuntu ###################################### # Basic project infos ###################################### LABEL maintainer="PeterSvensson" ###################################### # Update Ubuntu apt and install some tools ###################################### RUN apt-get update \ && apt-get install -y wget \ && apt-get install -y git \ && apt-get install -y unzip \ && rm -rf /var/lib/apt/lists/* ###################################### # Have an own directory for the tool ###################################### RUN mkdir webapp WORKDIR webapp ###################################### # Download Pharo using Zeroconf & start script ###################################### RUN wget -O- https://get.pharo.org/64/80+vm | bash COPY service_account.json service_account.json RUN export certificate="$(cat service_account.json)" COPY load.st load.st COPY setup.sh setup.sh RUN chmod +x setup.sh RUN ./setup.sh; echo 0 RUN ./pharo Pharo.image load.st; echo 0 ###################################### # Expose port 8080 of Zinc outside the container ###################################### EXPOSE 8080 ###################################### # Finally run headless as server ###################################### CMD ./pharo --headless Pharo.image --no-quit Any advice warmly welcome. Thank you.
/bin/shdoes not exist which is true for some very stripped images.RUN ./setup.sh; echo 0./pharoprogram/script?