When trying to run Firestore emulator in a Gitlab CI/CD pipeline I get the following error:
Firestore Emulator has exited because java is not installed, you can install it from https://openjdk.java.net/install/
The question is, how do I install java in this env? I found a similar post, but there’s no mention of the need of installing java, so I’m wondering if I’m missing something obvious.
This is how my .gitlab-ci.yml
file looks like:
image: node:14.15.4 cache: paths: - functions/node_modules/ - project_name/node_modules/ before_script: - npm i -g firebase-tools .test_and_deploy: script: - cd functions - npm i - cd .. - cd project_name - npm i - cd .. - cd functions - npm run build - firebase emulators:exec -P project_name --only firestore "npm run test-once" - cd .. - cd project_name - cp .env.project_name.local .env - npm run build - firebase --project project_name deploy
Advertisement
Answer
I was finally able to figure out how to install java in the docker image, now this part of the script in the yml file looks like this:
.test_and_deploy_functions: script: # this step installs java, necessary for the firebase emulator - apt-get update && apt-get install -y openjdk-8-jdk - cd functions - npm i - npm run build - firebase use project_name - firebase emulators:exec --only firestore "npm run test-once" - npx firebase deploy --only functions