如何将 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?的主要内容,如果未能解决你的问题,请参考以下文章