繁体   English   中英

在 GitLab CI 上运行 Firebase 模拟器

[英]Running Firebase Emulator on GitLab CI

我正在尝试在我的 GitLab CI 管道上测试 Firestore 的安全规则。 我需要运行 Firebase 的模拟器来实现这一点。

但是,Firebase 模拟器基本上开始提供“假后端”服务。 那么,我如何才能与其他作业并行运行该作业?

例如:

stages:
  - emulator
  - test

emulator:
  - stage: emulator
  script:
    - firebase serve --only firestore

test:
  - stage: test
  script:
    - yarn test

由于 GitLab 为emulator阶段提供服务,因此永远不会到达test阶段。 因此,它永远不会结束。

你不应该使用 2 个阶段。 请记住,每个阶段都是从某处开始的完全独立的“计算机”。 所以一个阶段可以默认不与另一个交互。 阶段的script部分实际上是一个 shell 脚本。 因此,如果您想尝试是否一切正常,请创建一个 shell 脚本并执行它。

这是我所做的。 请记住,我没有使用您的特定设置对其进行测试

stages:
  - test


test:
  - stage: test
  script:
     - yarn compile
     - yarn firebase setup:emulators:firestore
     - yarn firebase emulators:exec -P dev1 --only firestore "yarn test --exit"

要在CI系统上使用模拟器进行测试,最好添加一个“启动”脚本。 在这种情况下,我添加了 test yarn test --exit

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM