Google App Engine 标准 Python 云构建
Posted
技术标签:
【中文标题】Google App Engine 标准 Python 云构建【英文标题】:Google App Engine Standard Python Cloud Build 【发布时间】:2019-03-09 01:12:27 【问题描述】:背景: 尝试使用新的 Google Cloud Build 自动化我的构建过程 1. 我正在使用 Angular 6.x 2.我使用的是python google app engine 标准
我按照这里的说明进行操作: https://cloud.google.com/cloud-build/docs/configuring-builds/build-test-deploy-artifacts#deploying_artifacts
Cloud Build 在基于对云存储库的更改触发后部署我的应用程序。
但是我的应用程序使用安装在此处描述的 lib 文件夹中的第 3 方 python 库:
https://cloud.google.com/appengine/docs/standard/python/tools/using-libraries-python-27
当云构建运行时,我希望它也从需求中安装 python 库
这是我的 cloudbuild.yaml 文件
steps:
# Use npm
#- name: 'gcr.io/cloud-builders/npm'
# args: ['install', '-t', 'static/app', '.']
##- name: 'gcr.io/cloud-builders/npm'
## args: ['test', '-t', 'static/app', '.']
#- name: 'gcr.io/cloud-builders/npm'
# args: ['build', '-t','static/app', '.']
- name: 'gcr.io/cloud-builders/docker'
args: ['build', '-t', 'gcr.io/my-project', '.']
- name: "gcr.io/cloud-builders/gcloud"
args: ["app", "deploy"]
timeout: "1600s
这是我的 Dockerfile
FROM python:2.7
WORKDIR /app
COPY . /app
RUN pip install -t lib -r requirements.txt
##This does not help/work##
COPY /app/lib .
它正在使用 pip 拉下库,但努力寻找正确的语法将模块复制回主机?有 Docker 专家吗?
【问题讨论】:
【参考方案1】:我删除了 docker 文件,不需要它。
在我的 cloudbuild.yaml 文件中添加了构建步骤
- name: "docker.io/library/python:2.7"
args: ['pip', 'install', '-t', '/workspace/lib', '-r', '/workspace/requirements.txt']
这将为我的应用引擎应用安装 python 3rd 方库。
【讨论】:
以上是关于Google App Engine 标准 Python 云构建的主要内容,如果未能解决你的问题,请参考以下文章
如何将私有、自托管的 NPM 包与 Google App Engine 节点、标准环境一起使用
出现不一致的 500 错误 - Google App Engine PHP 标准上的错误代码 204 不一致
Spring Boot GCP:将 PubSub 应用程序部署到 App Engine 标准环境时出现“Google 凭据”异常
将 Nuxt JS s-s-r 应用程序部署到 Google Cloud App Engine 标准
连接 Google App Engine 和 Google Compute Engine
Google App Engine 上的 Production App 突然无法访问 Google Cloud Storage