在CI / CD进程中部署Firestore规则(脚本编写,不带CLI)

时间:2018-12-20 16:07:58

标签: firebase google-cloud-firestore continuous-deployment

在Firestore安全规则的文档页面上,我发现它们通过CLI deployable

我想知道是否有人知道一种无需使用CLI即可部署.rules文件内容的方法。

我挖了一下,发现了这个firebase rules REST API,但事实证明这是完全不同的事情。

研究其CLI代码并编写一些脚本以导入其功能的时间很短,有人知道一个lib或已经有代码来执行此操作吗?

我希望能够将这些规则作为应用程序部署的一部分部署在AWS CodePipeline上,因此CLI在这里不合适。炮轰也不可取。

1 个答案:

答案 0 :(得分:0)

您可以在ci管道中使用firebase admin sdk来部署firestore / storage / RTDB的规则。以下是Official Documentation

中的示例代码段
  const source = `service cloud.firestore {
      match /databases/{database}/documents {
        match /carts/{cartID} {
          allow create: if request.auth.uid == request.resource.data.ownerUID;
          allow read, update, delete: if request.auth.uid == resource.data.ownerUID;
        }
      }
  }`;

// Alternatively, load rules from a file
// const fs = require('fs');
// const source = fs.readFileSync('path/to/firestore.rules', 'utf8');

await admin.securityRules().releaseFirestoreRulesetFromSource(source);