簡體   English   中英

我的 first.gitlab-ci.yml 文件:如何在 CI/CD 中運行現有文件

[英]My first .gitlab-ci.yml file: How to run existing files in CI/CD

我通常作為一名數學家來構建和訓練數據的新模型,但我想嘗試學習一些新東西 - 所以我是以下問題的絕對初學者。 我目前的學習主題是如何在 gitlab 中使用 CI/CD。 我在 PyCharm 中實現了一個 Python 項目。 我的文件夾結構如下所示:

  • 項目
    • Flask
      • 最新款
        • ...
      • 模板
        • ...
      • webservice_flask.py
    • 測試
      • 初始化.py
      • test_DR.py
      • test_pred.py
      • test_train.py
    • 博士后
    • pred.py
    • 火車.py

其中“...”表示一些不重要的文件,.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM