首先,我是CI和GitLab的新手,所以我可能会说些没什么意义的东西。如果发生这种情况,我很抱歉,请询问更多详情/信息。在GitLab中运行管道时使用外部数据库
我有一个在GitLab上托管的项目(Laravel),我正在使用它们的CI来运行测试。目前,我的测试没有使用任何数据库,一切正常。
我现在处于需要做数据测试的情况。我面临的问题是我有三个数据库:一个是由我的应用程序管理的数据库,另外两个是旧数据库。
每次管道运行时都会重新创建一个由应用程序管理的管道,它是一次性的(用于测试),我使用工厂来处理数据。所以,这里没有问题。
然而,正如我所说,另外两个是遗留的,除了能够读取数据之外,我无法控制它们。
我的测试,以及其中一些需要来自这些数据库的数据,但我不知道如何编写gitlab-ci YAML文件来使用托管在另一台服务器(UAT服务器)上的数据库。
我希望有人能帮忙。
但究竟是什么问题?您只需将测试指向数据库并使用它。那么更多关于如何建立安全连接?也许如何连接到在你的本地网络中运行的数据库?如何从遗留数据库转储数据并在CI中重新创建它们? –
指向数据库需要在YAML文件中有用户名和密码,我不喜欢出于安全原因(他们将明确表示)。我会考虑如果我能够以某种方式限制访问权限(我已经在我的网站上使用IP地址),但我想不出一种方法来实现它。 每次重新创建数据库似乎都很昂贵,我需要将转储存储在某个地方,同样出于安全原因,我也不喜欢。 – giuliot
第一个可以通过https://docs.gitlab.com/ee/ci/variables/#secret-variables解决,也许是一个VPN来建立安全连接。或者,也许只需在旧数据库的同一LAN上设置专用运行程序即可。但看起来你的问题更多的是关于你对安全性的关注,而不是CI配置。 –