如何在Gitlab中启用DevOps(CI / CD)?我的网站托管在Firebase中

问题描述 投票:-1回答:1

我正在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

期待您的帮助。

最好,萨尔曼。

firebase gitlab devops continuous-deployment
1个回答
0
投票

我找到了解决方案。请访问此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

© www.soinside.com 2019 - 2024. All rights reserved.