我正在學習 GitLab CI/CD,我想在我的燒瓶應用程式上運行測驗。如果沒有測驗階段,一切都可以在 Gitlab CI/CD 上運行。這是我的 .gitlab-ci.yml 檔案:
image: python:3.8-slim-buster
cache:
paths:
- .cache/pip
stages:
- build
- test
- deploy_heroku
build message-requests:
stage: build
script:
- apt-get update
- apt-get install -y --no-install-recommends gcc
- apt install -y default-libmysqlclient-dev
- pip3 install -r requirements.txt
test message-requests:
stage: test
script:
- python3 test.py
deploy_heroku:
stage: deploy_heroku
image: ruby:latest
before_script:
- apt-get update -qy
- apt-get install -y ruby-dev
- gem install dpl
script:
- dpl --provider=heroku --app=message-requests --api-key=$HEROKU_SECRET_KEY
我的管道在測驗階段導致此錯誤:
Traceback (most recent call last):
File "test.py", line 1, in <module>
from app import app
File "/builds/dave/message-requests/app.py", line 1, in <module>
from flask import Flask
ModuleNotFoundError: No module named 'flask'
Cleaning up project directory and file based variables
00:00
ERROR: Job failed: exit code 1
本地測驗作業正常。如何使用在構建階段構建的應用程式資料?我知道可以在構建階段運行 test.py,但我聽說最好有一個單獨的階段進行測驗。我認為解決方案是使用工件,但我不確定它們是如何作業的以及 python 應用程式在哪里安裝所有東西。正如我所提到的,我是 GitLab CI/CD 的新手,因此,如果我做錯了什么,我很高興聽到最佳實踐。
uj5u.com熱心網友回復:
在 GitLab 中,您創建的每項作業都是在一個全新的環境中開始的。因此,您必須在每個作業中安裝您的要求。
您的test message-requests:作業不采取任何步驟來安裝 Flask 或其他依賴項。您應該添加這些步驟。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/451625.html
