如何解决我可以使用Cloud Build在VM实例中执行CI / CD任务吗?
我正在使用Google Cloud Platform并探索其CI / CD工具。
我在VM实例中部署了一个应用,我想知道是否可以使用GCP的工具(例如Cloud Build)来执行CI / CD而不是使用Jenkins。
根据我从几种资源中学到的知识,Cloud Build似乎是用于Cloud Run(部署Docker映像)和Cloud Functions的不错工具。
我可以将其用于在VM实例中部署的应用程序吗?
在Cloud Build中创建作业时,会设置一个cloudbuild.yaml
文件,在其中指定构建步骤。如何编写步骤以使其进入Linux VM,以特定用户身份登录cd
进入目录,拉出项目存储库的master分支,然后开始运行main.py
(说这是一个python项目)?
解决方法
您可以这样做
- name: gcr.io/cloud-builders/gcloud
entrypoint: "bash"
args:
- "-c"
- |
gcloud compute ssh --zone us-central1-a my_user@oracle -- whoami;ls -la;echo "cool"
但是,它不是部署应用程序的云原生解决方案。虚拟机不是“宠物”,而是“牛”,这意味着,当您不再需要它时,请杀死它,不要激动!
因此,一种现代的使用云的方法是使用新版本的应用程序创建新的VM。 (可选)您可以保留先前的VM,以防回滚时停止(不支付任何费用)。为此,您可以添加一个startup script,它会在VM上安装所有必需的软件包,库和您的应用程序,然后启动它。
最简单的方法是创建一个容器。这样,所有系统依赖项都在容器内部,而VM不需要任何自定义:只需下载容器并运行它
Cloud Build允许您使用gcloud CLI使用启动脚本创建VM。您也可以停止上一个。您是否有持久性可重用(用于版本之间的数据)?使用云构建,您还可以克隆它并将其附加到新的VM;或将其与上一个分离,然后将其附加到新的!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。