Using PostgreSQL
Using PostgreSQL
由于许多应用程序都依赖 PostgreSQL 作为其数据库,因此最终需要它才能运行测试. 下面将指导您如何使用 GitLab Runner 的 Docker 和 Shell 执行程序执行此操作.
如果您将GitLab Runner与 Docker 执行程序一起使用,则基本上已经完成了所有设置.
首先,在您的添加:
注意:不能在 GitLab UI 中设置POSTGRES_DB
, POSTGRES_USER
, POSTGRES_PASSWORD
和POSTGRES_HOST_AUTH_METHOD
变量. 要设置它们,请将它们分配给的变量,然后将该变量分配给.gitlab-ci.yml
的POSTGRES_DB
, POSTGRES_USER
, POSTGRES_PASSWORD
和POSTGRES_HOST_AUTH_METHOD
变量.
然后将您的应用程序配置为使用数据库,例如:
Host: postgres
Password: ''
Database: nice_marmot
如果您想知道为什么我们对Host
使用postgres
,请阅读如何将服务链接到作业的更多信息 .
postgres
图像可以接受一些环境变量. 有关更多详细信息,请参阅上的文档.
您还可以在手动配置的服务器上使用 PostgreSQL,这些服务器将 GitLab Runner 与 Shell 执行程序一起使用.
首先安装 PostgreSQL 服务器:
下一步是创建用户,因此登录 PostgreSQL:
然后创建一个将由您的应用程序使用的用户(在我们的示例中为runner
). 将以下命令中的$password
更改$password
真实的强密码.
*注意:不要输入 ,这是 PostgreSQL 提示的一部分.*
template1=# CREATE USER runner WITH PASSWORD '$password' CREATEDB;
创建数据库,并授予其上的所有特权用户runner
:
template1=# CREATE DATABASE nice_marmot OWNER runner;
如果一切顺利,您现在可以退出数据库会话:
现在,尝试连接到与用户新创建的数据库runner
检查一切就绪.
psql -U runner -h localhost -d nice_marmot -W
*注意:我们明确告诉psql
连接到 localhost 以便使用 md5 身份验证. 如果您省略此步骤,则将被拒绝访问.*
最后,将您的应用程序配置为使用数据库,例如:
Host: localhost
User: runner
为了方便起见,我们使用公共可共享的运行程序在上运行了一个示例 PostgreSQL 项目 .