node.js - 使用 CircleCI 部署到 Firebase 托管

标签 node.js continuous-integration firebase circleci

我正在尝试弄清楚如何使用 CircleCI 部署到 Firebase 托管。据我所知,没有办法使用 SSH key 设置部署,所以我试图找到一种在部署期间登录 Firebase 并推送代码的方法。到目前为止,我在 circle.yml 中尝试过的内容如下:

// circle.yml
deployment:
  production:
    branch: circle-deploy
    commands:
      - npm install -g firebase-tools
      - firebase login | echo -e "${FIREBASE_EMAIL}\n${FIREBASE_PASSWORD}"
      - firebase deploy

但是,我不断收到以下错误,我不知道如何解决它。

stream.js:94
      throw er; // Unhandled stream error in pipe.
            ^
Error: write EPIPE
    at errnoException (net.js:904:11)
at Object.afterWrite (net.js:720:19)

最佳答案

我只需要这样做,还有一种更简单的方法

  1. 在您的机器上,您可以通过键入

    来获取您的访问 token
    firebase login:ci
    
  2. 将该 token 保存为circleci中的环境变量,$FIREBASE_TOKEN
  3. 对于您的部署步骤,您可以跳过登录:

    deployment:
      production:
        branch: master
        commands:
          - firebase deploy --token=$FIREBASE_TOKEN --non-interactive
    

关于node.js - 使用 CircleCI 部署到 Firebase 托管,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28569708/

相关文章:

java - Jenkins 使用不同的 Maven 存储库构建

javascript - 通过 Webpack 和 Vue.JS 导入并使用第 3 方包

jenkins - 如何从 Github Pull Request 中删除 Jenkins 构建状态

nginx - 如何通过反向代理将docker镜像推送到artifactory

mysql - String refreshedToken = FirebaseInstanceId.getInstance().getToken(); 的大小是多少?

ios - 如何从 Firestore 获取数据?

node.js - 如何在 Twilio 中跟踪外发回复消息的发送情况?

node.js - MongoDB Atlas 触发器中的聚合不起作用

mysql - 当我尝试获取上次更新行的 id 时,我得到未定义的信息

swift - FIRE UserProfileChangeRequest 存储数据的地方