我正在尝试为我的应用程序构建构建管道,并使用卷在步骤之间共享特定文件夹。
问题是因为在我的第一步(单元测试)中,我必须安装requirements.txt 上的所有库才能运行我的单元测试。之后,我必须在其他步骤中构建运行 Dockerfile 的应用程序。我不想再次重新安装所有要求,因此,我想复制已安装的要求并将其粘贴到 docker 构建步骤中。我能做到吗?我遵循这个线索并尝试复制到我的现实中,但我仍然遇到问题。
这是我所做的示例:
我的cloudbuild.yaml:
- id: unit-tests
name: python:3-alpine
entrypoint: sh
dir: my-dir
args:
- -c
- |
apk add --virtual build_dependencies build-base
apk add --no-cache libstdc++
pip install --no-cache-dir -r requirements.txt
apk del build_dependencies
python -m unittest discover --verbose
cp -Rv /usr/local/lib/python3.8/site-packages/* /requirements
volumes:
- name: 'requirements'
path: /requirements
- id: docker-build
name: gcr.io/cloud-builders/docker
dir: my-dir
args:
- build
- --tag=gcr.io/${PROJECT_ID}/eta:test
- '.'
volumes: …Run Code Online (Sandbox Code Playgroud)