繁体   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