Hi Folks
I am trying to run an end-to-end (e2e) test suite on GitLab CI/CD Pipeline.
I am able to spin up my backend and a database for this job using these configurations:
image:
name: cypress/included:6.1.0
entrypoint: [""]
services:
- name: $DEVELOPMENT_CONTAINER_IMAGE
alias: frontend
command: ["scripts/start_app.sh"]
- name: $PRODUCTION_CONTAINER_IMAGE
alias: app
- name: registry.gitlab.com/starting-spark/porter/backend/master:latest
alias: backend
command: ["scripts/start_app.sh"]
- name: postgres:13.0
alias: database
The entire file is located here: gitlab/production-checks.yaml · master · Starting Spark / porter / frontend · GitLab
The issue I’m running into is: how do I set up my database prior to the start of the e2e testing?
I typically use my backend
container to connect to and set up my database, e.g. migrate, seed, etc.
But the entrypoint
/command
for the backend
service container is used to start my backend server.
Additionally, I don’t want an entrypoint
/command
that performs set up tasks each and every time.
Another issue is I don’t want to create and maintain another image just to run e2e tests in CI pipelines.
I could not find an option on services to run a one-off command on my service container listed here: Services | GitLab
Is there a pattern, setting, or a workaround to setup my database container prior to starting my e2e tests?
Thank you for your time