如何将 gitlab 存储库自动部署到 Google Cloud Platform?

Posted

技术标签:

【中文标题】如何将 gitlab 存储库自动部署到 Google Cloud Platform?【英文标题】:How to auto deploy gitlab repository to Google Cloud Platform? 【发布时间】:2022-01-17 13:58:57 【问题描述】:

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

每次我想部署它,我都需要:

    进入谷歌云平台控制台 cd 到我的 repo 文件夹 git pull 更改默认分支 使用经过身份验证的用户登录 运行命令npm run generate(我正在使用生成,因为我是这篇文章的完整静态Nuxt-full static 最后运行 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 文档,但它们看起来已经过时了。

问题是: 如何在我的 master 分支 中配置 CI/CD (.gitlab-ci.yml) 文件:当我更新此分支时,更新我的 App Engine 应用程序并为其创建新版本?

感谢所有可能的帮助,并祝看到此消息的每个人新年快乐 S2。

【问题讨论】:

你可以看看这个documentation。让我知道这是否有帮助! 我现在就去看看!稍等,感谢您的帮助! :) 【参考方案1】:

如果您将 Gitlab 用作自托管版本,您可以制作 CI/CD 管道来自动化您的日常手动部署。

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

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

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

【讨论】:

以上是关于如何将 gitlab 存储库自动部署到 Google Cloud Platform?的主要内容,如果未能解决你的问题,请参考以下文章

设置 GitLab CI/CD 以将多个存储库部署到 DigitalOcean Droplet 上的 Docker 容器

如何使用 Poetry 将 Python 包部署到 Gitlab 包注册表?

真香,GitLab 和 Docker自动化部署SpringBoot应用

从github迁移git存储库到gitee 2022-02-15

使用 Gitlab CI 将每个构建部署到服务器

我应该将我的 Nuxt 应用程序直接部署到 Google App Engine 还是应该在我的代码存在于存储库中的地方使用 Gitlab CI/CD?