我们正在使用Google Cloud Build将特定于请求请求的应用程序版本部署到GAE,以便我们可以与利益相关者共享开发版本,然后再将其发布。在GAE上,网址看起来像@pandas_udf("int", PandasUDFType.SCALAR)
def udf_with_cond(*cols):
result = cols[0]
for c in cols[1:]:
result *= c
if((result < 100).any()):
return result
else:
raise Exception('Error')
df = df.withColumn('res', udf_with_cond('A', 'B'))
或http://[VERSION_ID]-dot-[YOUR_PROJECT_ID].appspot.com
我们希望允许利益相关者预览并运行E2E测试(包括Firebase登录),但是由于本质上是通配符子域,因此我们必须在Firebase控制面板中的“授权”下手动将每个子域列入白名单。域”。不幸的是,Firebase不允许将通配符样式列入白名单(例如* -dot-projectname.appspot.com)。
我们已经与Google取得联系,但他们确认白名单只能手动完成。
答案 0 :(得分:1)
一种可能性是使用单独的分阶段项目进行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?