2 votes

Exécution des scripts d'initialisation de Postgres lors de l'exécution de Cypress sur CI

Je tente de faire fonctionner Cypress sur Gitlab CI.

Tout fonctionne comme prévu, mais il y a un petit détail.. mon script d'initialisation de la base de données (qui s'exécute après chaque test) ne fonctionne pas. Ce problème fait échouer mes tests, ainsi que le travail CI.

Après réflexion, j'ai réalisé que le script setup.sh contient la commande psql qui se connecte à la base de données et nécessite postgres (sur ma machine locale, les tests s'exécutent avec succès car j'ai postgres installé localement).

J'utilise l'image cypress_included:3.8.0 qui ne contient pas postgres. Des idées sur la façon de résoudre le problème ? Y a-t-il une solution de contournement ? Dois-je essayer d'installer manuellement ? (si oui, ce serait bien de voir un exemple)

Merci !

0voto

Étant donné que l'image cypress/included:3.8.0 utilise le système d'exploitation Debian, vous pouvez utiliser la commande apt-get à l'intérieur de vos scripts de travail pour installer certaines dépendances ou packages.

Si vous souhaitez installer à la fois le serveur de base de données PostgreSQL et le client PostgreSQL (psql), vous pouvez ajouter les commandes suivantes à vos scripts de travail CI / CD comme ci-dessous :

image: cypress/included:3.8.0

job foo :
    scripts :
        ...
        - apt-get update -qy && apt-get upgrade -qy
        - apt-get install -y postgresql postgresql-client postgresql-contrib
        ...

Si vous souhaitez uniquement installer le client PostgreSQL (psql), supprimez les packages postgresql et postgresql-client de la commande :

image: cypress/included:3.8.0

job foo :
    scripts :
        ...
        - apt-get update -qy && apt-get upgrade -qy
        - apt-get install -y postgresql-client
        ...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X