在CI上运行cypress时执行postgres初始化脚本

时间:2020-03-03 08:29:27

标签: postgresql gitlab-ci cypress

我正在尝试在gitlab CI上运行Cypress。

一切都按预期进行,但是有一点点..我的数据库初始化脚本(在每次测试后运行)将无法工作。这个问题使我的测试以及CI作业都无法通过。

经过一番思考,我意识到setup.sh脚本包含psql命令,该命令连接到db并且需要postgres (由于我确实在本地安装了postgres,因此在本地计算机上测试成功运行了。)

我使用的cypress_included:3.8.0图片不包含postgres。任何想法如何解决该问题?有什么解决方法吗?我应该手动尝试自己安装它吗? (如果是这样,那么很高兴看到一个示例)

谢谢!

1 个答案:

答案 0 :(得分:0)

由于cypress/included:3.8.0映像正在使用Debian操作系统,因此您可以在作业脚本中使用apt-get命令来安装某些依赖项或软件包。

如果要同时安装 PostgreSQL核心数据库服务器 PostgreSQL客户端(psql),则可以将以下命令添加到CI / CD作业scripts中如下所示:

image: cypress/included:3.8.0

⋮

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


如果只想安装 PostgreSQL客户端(psql),请从以下命令中删除软件包postgresqlpostgresql-client

image: cypress/included:3.8.0

⋮

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