0

我的目标是在我的 CI 流程中提供 firebase 功能,(然后运行 ​​e2e 测试)。

所以在开发中我可以做到这一点,假设我已经登录:

firebase serve --only functions --port=9000 --project=<project_id>

但是,在 CI 中我没有登录,因此我尝试这样做:

firebase serve --only functions --port=9000 --project=<project_id> --token=<firebase-ci-token>

但是,这不起作用-不可能吗?

更新

我现在正在尝试运行:

export FIREBASE_TOKEN=<firebase-token>

接着

firebase serve --only functions --port=9000 --project=eddystone-test-e4cd3

但它给了我一些错误(在 firebase-debug.log 中):

TypeError: Cannot read property 'refresh_token' of undefined

4

1 回答 1

0

.gitlab-ci.yml这是您可能需要的示例。请注意,生成的令牌firebase login:ci是在每个 firebase 命令上指定的:

deploy:functions:staging:
    stage: deploy_functions
    environment: staging
    only:
        - staging
    when: manual
    script:
        - cd $APP_PATH/functions
        - npm install
        - cd ..
        - echo $ENVIRONMENT_STAGING >> $APP_PATH/src/environments/environment.staging.ts
        - firebase use staging --token "$FIREBASE_CI_AUTH_TOKEN"
        - firebase functions:config:set dev.authkey="$FIREBASE_CONFIG_DEV_AUTHKEY" --token "$FIREBASE_CI_AUTH_TOKEN"
        - firebase deploy --only functions --token "$FIREBASE_CI_AUTH_TOKEN" -P <project>
于 2018-09-14T23:39:07.043 回答