google-cloud-platform - 在 Google Cloud Build 中运行单元测试?
问题描述
我正在尝试为几个 Python 项目(所有 GAE/GCF)设置 CI/CD。我可以很好地部署代码,但我想在部署步骤之前运行整个测试套件。我怎样才能做到这一点?我是否必须设置整个 docker build 步骤才能完成此操作,还是有更简单的方法?
解决方案
这是我的做法:
- name: 'gcr.io/cloud-builders/docker'
entrypoint: 'bash'
args: ['-c', 'docker build . --tag my_app']
- name: 'gcr.io/cloud-builders/docker'
entrypoint: 'bash'
args: ['-c', 'docker tag my_app:latest eu.gcr.io/my_project/my_app']
- name: 'gcr.io/cloud-builders/docker'
entrypoint: 'bash'
args: ['-c', 'docker push eu.gcr.io/my_project/my_app']
- name: 'gcr.io/cloud-builders/docker'
entrypoint: 'bash'
args: ['-c', 'docker run my_app pytest']
- name: 'gcr.io/cloud-builders/gcloud'
args: ['app', 'deploy', 'app.yaml', '--image-url=eu.gcr.io/my_project/my_app:latest']
我构建并标记我的容器映像。然后我将它推送到 Google Cloud Repo。然后我运行我的测试,pytest
然后我部署到谷歌云引擎。
推荐阅读
- ios - 是否可以在“评价此应用程序”弹出窗口中查看用户选择的内容?
- asp.net-mvc - 如何将值从一个动作传递到另一个动作而不重定向到该动作
- powershell - 使用 PowerShell 将数组连接为字符串
- ruby-on-rails - Rails 接受_nested_attributes_for 和三元关联
- wpf - 将多个列表绑定到特定的 datagridcombobox 列
- swift - 如何将非英文字符保存/获取到核心数据中?
- javascript - 当用户输入一个数字时,显示一个对话框
- python - 无法导入 sklearn
- javascript - 如何将类的所有方法绑定到javascript中的“this”变量
- arrays - Mongo:使用没有 $each 的 $addToSet。如何删除数组?