如何将GitLab仓库自动部署到谷歌云平台?

问题描述 投票:0回答:2

我有一个 Nuxt 应用程序正在 Google Cloud Platform 的存储库中运行,该应用程序使用 App Engine。

要部署它,我:

  1. 进入Google云平台控制台
  2. cd 到我的存储库文件夹
  3. git pull 默认分支中的更改
  4. 使用经过身份验证的用户登录
  5. 运行命令
    npm run generate
    (我使用generate,因为我有这篇文章用于完全静态Nuxt-full static
  6. 最后运行 gcloud app deploy app.yaml --project project_id

app.yaml配置:

    runtime: nodejs12

instance_class: F2

handlers:
  - url: /_nuxt
    static_dir: .nuxt/dist/client
    secure: always

  - url: /(.*\.(gif|png|jpg|ico|txt))$
    static_files: static/\1
    upload: static/.*\.(gif|png|jpg|ico|txt)$
    secure: always

  - url: /.*
    script: auto
    secure: always

env_variables:
  HOST: '0.0.0.0'

有关 CI/CD 的 Google Cloud Platform 和 Gitlab 文档看起来已经过时了。

当我更新此分支、更新我的 App Engine 应用程序并为其创建新版本时,如何在我的

master 分支
中配置 CI/CD (.gitlab-ci.yml) 文件?

google-app-engine google-cloud-platform gitlab nuxt.js gitlab-ci
2个回答
0
投票

如果您使用 Gitlab 作为自托管版本,您可以制作 CI/CD 管道来自动执行日常手动部署。

首先,在 Gitlab 实例中安装 npm 包和 gcloud SDK。

其次,按照您的描述编辑 CI/CD 管道。如果您使用 GitLab 提供的 CI/CD Pipeline 编辑器,这会很有帮助。

ex:我的 .gitlab-ci.yml 内容在这里。这只是一步,但你可以有很多。


0
投票

使用 GitLab 15.5(2022 年 10 月),您还可以查看:

使用 GitLab Cloud Seed 将应用部署到 Google Cloud

Cloud Seed 允许 GitLab 和 Google Cloud 客户使用单一平台迁移到云,整合他们的技术堆栈,而不会减慢他们的云采用过程。

Cloud Seed 内置于 GitLab Web UI 中,并利用 CI/CD 管道功能。它经过专门定制,旨在为使用 Google Cloud 服务提供顺畅的开发者体验,支持Service AccountsCloud RunCloud SQL

为了开发此功能,GitLab 与 Google Cloud 合作打造一流的体验,以简化、自动化,从而加速云资源配置、部署自动化和配置。 Google Cloud 和 GitLab 以开源模式合作,为付费和免费用户提供 Cloud Seed。

Cloud Seed 易于使用且易于访问的格式推动了用户对云的有机采用。由于它是一个无摩擦的开源工具,开发人员和产品团队可以使用 Google Cloud 服务,补充其领导层的云采用努力,从而实现全公司范围的有机转变。因此,GitLab 看到云服务越来越多地采用自下而上的方式。

参见:

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