我们正在使用Google Cloud Build将特定于请求请求的应用程序版本部署到GAE,因此我们可以与利益相关者共享开发版本,然后再将其发布。在GAE上,网址看起来像http://[VERSION_ID]-dot-[YOUR_PROJECT_ID].appspot.com
或https://my-pr-name-dot-projectname.appspot.com
我们希望允许利益相关者预览并运行E2E测试(包括Firebase登录),但由于本质上是通配符子域,我们必须在Firebase控制面板中的“授权域”下手动将每个子域列入白名单。 ”。不幸的是,Firebase不允许将通配符样式列入白名单(例如* -dot-projectname.appspot.com)。
我们已经与Google取得联系,但他们已经确认白名单只能手动完成。
一种可能是使用一个单独的分阶段项目进行PR测试。
您将对http://[YOUR_STAGING_PROJECT_ID].appspot.com
或https://staging_projectname.appspot.com
使用白名单。然后,您可以通过流量迁移来管理从特定PR到暂存项目的映射,这可以通过PR自动化脚本进行programmatically。
缺点是您一次只能有效地验证一个PR。但这并不一定都很糟糕:序列化PR验证消除了由于conflicting changes that each pass in isolation而导致损坏的风险。
您可能会发现感兴趣的用于测试目的的单独项目也有优势,请参见Advantages of implementing CI/CD environments at GAE project/app level vs service/module level?