如何将 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
我应该将我的 Nuxt 应用程序直接部署到 Google App Engine 还是应该在我的代码存在于存储库中的地方使用 Gitlab CI/CD?