[英]Configuring .gitlab-ci.yml file in Gitlab to test python Codes
[英]My first .gitlab-ci.yml file: How to run existing files in CI/CD
我通常作為一名數學家來構建和訓練數據的新模型,但我想嘗試學習一些新東西 - 所以我是以下問題的絕對初學者。 我目前的學習主題是如何在 gitlab 中使用 CI/CD。 我在 PyCharm 中實現了一個 Python 項目。 我的文件夾結構如下所示:
其中“...”表示一些不重要的文件,.py 文件是常規 python 文件,沒有特殊結尾的表達式是普通文件夾。 文件 DR.py 讀取了一些數據,文件 train.py 訓練了一個 model,文件 pred.py 根據訓練的 model 進行預測,test 文件夾包含用於測試先前組件的測試文件,Z319C3206A7D4A91 文件夾包含 a7C35E630DAF44DBFA4C3F68F5399D8CZ flask 應用程序 Web 服務作為客戶的部署。 到目前為止一切順利,在我的本地機器上一切正常。 現在我想將此項目集成到 gitlab 中的 CI/CD 管道中,結構如下:
運行 DR.py > 運行 test_DR.py > 運行 train.py > 運行 test_train.py > 運行 pred.py > 運行 test_pred.py > 運行 webservice_flask.py
我不確定這種結構是否現實,因為我已經讀過一個階段的組件(如測試)並行運行。 我知道我必須在我的根項目文件夾中創建一個 .gitlab-ci.yml 文件來初始化 CI/CD 管道。 文件的結構(據我所知)應如下所示:
stages:
- build
- test
- deploy
build_database:
stage: build
script:
- echo "Load the data"
- #...here I want to run the DR.py file, but I don't know how
test_data_reader:
stage: test
script:
- echo "Test the loaded data"
- #...here I want to run the test_DR.py file, but I don't know how
...到目前為止,我的管道的每個組件等等。
任何人都可以幫助我嗎? 我最初的嘗試完全是胡說八道嗎? 有人可以告訴我在 yaml 文檔的項目中運行文件的命令嗎? 非常感謝!
您甚至不必將其分解為多個階段,您可以在一個作業中運行所有階段,只需將它們全部列在script
下,如下所示:
build_database:
stage: build
script:
- python DR.py
- python test/run test_DR.py
- python train.py
- python test/test_train.py
- python pred.py
- python test/test_pred.py
基本上,您在管道中運行它的方式與在本地運行它的方式相同。
在您的設置中唯一沒有意義的是最后一步 - 運行 Web 服務。 您會看到,CI 運行器將無法充當您的 Web 服務的服務器 - 它應該只是構建/部署並退出。 您將不得不考慮您希望在何處以及如何運行此 Web 服務並在那里部署代碼(可能帶有一些工件)。 如果您不知道從哪里開始,請查看 Heroku 作為選項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.