使用Github操作将.env机密添加到部署在Firebase主机上的Nuxt应用程序
我正在尝试使用github操作将Nuxt应用程序部署到firebase主机 在我将firebase配置添加到.env之前,部署工作正常-它在本地主机上运行良好,但部署时api密钥和其他配置似乎没有注册 环境署署长 nuxt.config.js使用Github操作将.env机密添加到部署在Firebase主机上的Nuxt应用程序,firebase,vue.js,nuxt.js,github-actions,firebase-hosting,Firebase,Vue.js,Nuxt.js,Github Actions,Firebase Hosting,我正在尝试使用github操作将Nuxt应用程序部署到firebase主机 在我将firebase配置添加到.env之前,部署工作正常-它在本地主机上运行良好,但部署时api密钥和其他配置似乎没有注册 环境署署长 nuxt.config.js // Nuxt-Fire Module Options firebase: { config: { apiKey: process.env.FIREBASE_APIKEY, authD
// Nuxt-Fire Module Options
firebase: {
config: {
apiKey: process.env.FIREBASE_APIKEY,
authDomain: process.env.FIREBASE_AUTHDOMAIN,
databaseURL: process.env.FIREBASE_DATABASEURL,
projectId: process.env.FIREBASE_PROJECTID,
storageBucket: process.env.FIREBASE_STORAGEBUCKET,
messagingSenderId: process.env.FIREBASE_MESSAGINGSENDERID,
appId: process.env.FIREBASE_APPID,
measurementId: process.env.FIREBASE_MEASUREMENTID
},
onFirebaseHosting: true,
services: {
auth: {
persistence: 'local', // default
initialize: {
// onAuthStateChangedMutation: 'ON_AUTH_STATE_CHANGED_MUTATION',
onAuthStateChangedAction: 'onAuthStateChanged'
},
ssr: true
},
firestore: true,
storage: true,
performance: true
// analytics: true,
}
},
deploy.yml
name: Firebase Continuous Deployment
on:
push:
branches: [master]
jobs:
firebase-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/setup-node@master
with:
node-version: '12'
- run: yarn install
env:
FIREBASE_APIKEY: ${{ secrets.FIREBASE_APIKEY }}
FIREBASE_AUTHDOMAIN: ${{ secrets.FIREBASE_AUTHDOMAIN }}
FIREBASE_DATABASEURL: ${{ secrets.FIREBASE_DATABASEURL }}
FIREBASE_PROJECTID: ${{ secrets.FIREBASE_PROJECTID }}
FIREBASE_STORAGEBUCKET: ${{ secrets.FIREBASE_STORAGEBUCKET }}
FIREBASE_MESSAGINGSENDERID: ${{ secrets.FIREBASE_MESSAGINGSENDERID }}
FIREBASE_APPID: ${{ secrets.FIREBASE_APPID }}
FIREBASE_MEASUREMENTID: ${{ secrets.FIREBASE_MEASUREMENTID }}
- run: yarn generate
- uses: w9jds/firebase-action@master
with:
args: deploy --only hosting
env:
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
name: Firebase Continuous Deployment
on:
push:
branches: [master]
jobs:
firebase-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/setup-node@master
with:
node-version: '12'
- run: yarn install
- run: yarn generate
env:
FIREBASE_APIKEY: ${{ secrets.FIREBASE_APIKEY }}
FIREBASE_AUTHDOMAIN: ${{ secrets.FIREBASE_AUTHDOMAIN }}
FIREBASE_DATABASEURL: ${{ secrets.FIREBASE_DATABASEURL }}
FIREBASE_PROJECTID: ${{ secrets.FIREBASE_PROJECTID }}
FIREBASE_STORAGEBUCKET: ${{ secrets.FIREBASE_STORAGEBUCKET }}
FIREBASE_MESSAGINGSENDERID: ${{ secrets.FIREBASE_MESSAGINGSENDERID }}
FIREBASE_APPID: ${{ secrets.FIREBASE_APPID }}
FIREBASE_MEASUREMENTID: ${{ secrets.FIREBASE_MEASUREMENTID }}
- uses: w9jds/firebase-action@master
with:
args: deploy --only hosting
env:
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
环境变量是在Thread install上运行的,而不是在Thread generate上运行的 deploy.yml
name: Firebase Continuous Deployment
on:
push:
branches: [master]
jobs:
firebase-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/setup-node@master
with:
node-version: '12'
- run: yarn install
env:
FIREBASE_APIKEY: ${{ secrets.FIREBASE_APIKEY }}
FIREBASE_AUTHDOMAIN: ${{ secrets.FIREBASE_AUTHDOMAIN }}
FIREBASE_DATABASEURL: ${{ secrets.FIREBASE_DATABASEURL }}
FIREBASE_PROJECTID: ${{ secrets.FIREBASE_PROJECTID }}
FIREBASE_STORAGEBUCKET: ${{ secrets.FIREBASE_STORAGEBUCKET }}
FIREBASE_MESSAGINGSENDERID: ${{ secrets.FIREBASE_MESSAGINGSENDERID }}
FIREBASE_APPID: ${{ secrets.FIREBASE_APPID }}
FIREBASE_MEASUREMENTID: ${{ secrets.FIREBASE_MEASUREMENTID }}
- run: yarn generate
- uses: w9jds/firebase-action@master
with:
args: deploy --only hosting
env:
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
name: Firebase Continuous Deployment
on:
push:
branches: [master]
jobs:
firebase-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/setup-node@master
with:
node-version: '12'
- run: yarn install
- run: yarn generate
env:
FIREBASE_APIKEY: ${{ secrets.FIREBASE_APIKEY }}
FIREBASE_AUTHDOMAIN: ${{ secrets.FIREBASE_AUTHDOMAIN }}
FIREBASE_DATABASEURL: ${{ secrets.FIREBASE_DATABASEURL }}
FIREBASE_PROJECTID: ${{ secrets.FIREBASE_PROJECTID }}
FIREBASE_STORAGEBUCKET: ${{ secrets.FIREBASE_STORAGEBUCKET }}
FIREBASE_MESSAGINGSENDERID: ${{ secrets.FIREBASE_MESSAGINGSENDERID }}
FIREBASE_APPID: ${{ secrets.FIREBASE_APPID }}
FIREBASE_MEASUREMENTID: ${{ secrets.FIREBASE_MEASUREMENTID }}
- uses: w9jds/firebase-action@master
with:
args: deploy --only hosting
env:
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
我添加了相同的问题,它是您的env变量的名称 如果希望Nuxt注入env变量,则它们必须以.env文件中的
Nuxt\u env\u
开头(例如Nuxt\u env\u FIREBASE\u APIKEY=mykey
)
请参阅:来自Nuxt文档表单的更多详细信息
然后在代码中使用变量,如
process.env.NUXT\u env\u FIREBASE\u APIKEY
看起来您正在纱线安装
步骤上设置env
变量。他们不应该在下面的步骤中吗?是的,就是这样-谢谢你救了我的早晨@Phil;)就我而言,这几乎是一个幸运的猜测,我对Nuxt毫无希望。很高兴你让它工作嗯,看起来是正确的,虽然我正在生成一个静态站点,所以我不需要nuxt_env前缀,只需要在生成之前