我正在gitlab中维护我的代码。我的网站托管在firebase中。我想在gitlab中启用devops(CI / CD)。
现在我正在yml文件中使用以下代码:
image: node:alpine
deploy_production:
stage: deploy
environment: Production
only:
- master
script:
- npm install
- npm i -g firebase-tools
- npm build
- firebase deploy --non-interactive --token "1//0gUT4kVkAzDa9CgYIARAAGBASNwF-L9IrGNXptJQ0YybVEjtYCttSystVDdE35i-IzSm3MwcnxDyfwT2FdQPCvdUa4o5GOVVUyrA"
我从Gitlab作业中收到以下错误:
Error: Authorization failed. This account is missing the following required permissions on project <project-id>:
firebase.projects.get
firebasehosting.sites.update
ERROR: Job failed: exit code 1
期待您的帮助。
最好,萨尔曼。
我找到了解决方案。请访问此link或阅读以下内容
使用GITLAB CI进行FIREBASE主机部署自动化
打开浏览器,转到Gitlabhttps://gitlab.com登录到您的帐户创建一个新项目或打开一个现有项目打开终端,选择您想要的目录
键入git clone并按回车键/输入
打开VS代码->打开文件夹->选择项目文件夹,然后单击打开创建.gitlab-ci.yml文件
复制以下代码并将其粘贴到.yml文件中:
image: node:alpine
deploy_production:
stage: deploy
environment: Production
only:
- master
script:
- npm install
- npm i -g firebase-tools
- firebase deploy --non-interactive --token "<token>" --project <project ID>
创建firebase.json文件并将其复制并粘贴以下代码
{
"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
}
}
打开浏览器,转到Firebase控制台创建一个新项目或打开一个现有项目单击项目设置
打开终端输入npm install并按回车键/输入输入npm i -g firebase-tools并按回车键输入firebase登录名,然后按回车键/回车键输入y并按回车键/输入您的默认网络浏览器将打开,选择您的Google帐户,即您创建Firebase项目的帐户,然后单击允许。
您应该看到以下成功消息:
输入firebase login:ci,然后按回车/回车键。您的默认网络浏览器将打开,选择您的Google帐户,即创建Firebase项目的帐户,然后单击“允许”。返回终端,您应该看到如下所示的令牌:
复制令牌并在.yml文件中将其替换为。从Firebase控制台复制您的项目ID,然后将其替换为
保存您的.yml文件
提交您的更改并将其推送到存储库中
在公用文件夹中创建所有Web文件(index.html,...)。保存,提交并推送代码。
快乐编码和DevOps由Salman