I’ve been trying to get configurable services set up for testing REST services in an integration test phase.
I’ve been using wiremock to do this, which is configured with JSON files of requests & responses identified during its startup.
In my project I store these configurations in mocks/
and was able to verify the following script works locally:
image: srsbiznas/sbt_yarn_ci:latest
build:
stage: build
services:
- name: "semisafe/wiremock:latest"
alias: fake-api
entrypoint: [ "sh", "-c", "/opt/wiremock/wiremock.sh $CI_PROJECT_DIR/mocks" ]
script:
# Sanity check
- echo "$CI_PROJECT_DIR/mocks"
- curl fake-api:8080/xxx/yyy/zzz
However, when I run it in the shared runners, I get an internal error consistent with the mocks
directory not having been loaded.
My understanding was that the /builds
directory is mounted inside services as well, but is that not the case in shared runners? all non-local runners?