作者:mobiledu2502858703 | 来源:互联网 | 2023-05-21 16:00
我正试图弄清楚如何使用CircleCI部署到Firebase Hosting.据我所知,没有办法使用SSH密钥设置部署,所以我试图找到一种在部署期间登录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)
mattmcmanus..
38
我只需要这样做,有一个更简单的方法
在您的计算机上,您可以通过键入来获取访问令牌
firebase login:ci
将该标记保存为circleci中的环境变量, $FIREBASE_TOKEN
对于部署步骤,您可以跳过登录:
deployment:
production:
branch: master
commands:
- firebase deploy --token=$FIREBASE_TOKEN --non-interactive
Ilan Klingho..
14
上面其他答案的一小部分......
为了避免在每个构建的circle ci中全局安装firebase-tools:
修改你的package.json文件,将firebase-tools包含为dev依赖项,如下所示:
npm install --save-dev firebase-tools
然后在你的circle.yml文件中:
deployment:
production:
branch: master
commands:
- ./node_modules/.bin/firebase deploy --token=$FIREBASE_TOKEN --non-interactive
Taylor Glaes..
6
对于偶然发现这个问题的其他人来说,这些是我必须采取的步骤,以使CircleCI(以及可能是任何其他CI)与Firebase Hosting一起工作.
生成CI令牌: firebase login:ci
将该标记保存为ENV var(FIREBASE_TOKEN
)
在部署脚本中使用令牌: firebase deploy --token=$FIREBASE_TOKEN --non-interactive
Firebase login:ci
最近添加了以防止人们使用个人部署令牌进行CI服务.
1> mattmcmanus..:
我只需要这样做,有一个更简单的方法
在您的计算机上,您可以通过键入来获取访问令牌
firebase login:ci
将该标记保存为circleci中的环境变量, $FIREBASE_TOKEN
对于部署步骤,您可以跳过登录:
deployment:
production:
branch: master
commands:
- firebase deploy --token=$FIREBASE_TOKEN --non-interactive
2> Ilan Klingho..:
上面其他答案的一小部分......
为了避免在每个构建的circle ci中全局安装firebase-tools:
修改你的package.json文件,将firebase-tools包含为dev依赖项,如下所示:
npm install --save-dev firebase-tools
然后在你的circle.yml文件中:
deployment:
production:
branch: master
commands:
- ./node_modules/.bin/firebase deploy --token=$FIREBASE_TOKEN --non-interactive
3> Taylor Glaes..:
对于偶然发现这个问题的其他人来说,这些是我必须采取的步骤,以使CircleCI(以及可能是任何其他CI)与Firebase Hosting一起工作.
生成CI令牌: firebase login:ci
将该标记保存为ENV var(FIREBASE_TOKEN
)
在部署脚本中使用令牌: firebase deploy --token=$FIREBASE_TOKEN --non-interactive
Firebase login:ci
最近添加了以防止人们使用个人部署令牌进行CI服务.