我通常作为数学家在数据上构建和训练新模型,但我想尝试并学习一些新东西-所以我是以下问题的绝对初学者。我目前的学习主题是如何在 gitlab 中使用 CI / CD。我已经在 PyCharm 中实现了一个 Pytn 项目。我的文件夹结构看起来如下:
项目
Flask
最新_型号
...
模板
...
webservice_flask.py
试验
init.pytest_DR.py
test_pred.py
test_train.py
DR.py
pred.py
train.py
其中“...”象征着一些不重要的文件,.py 文件是常规的 pytn 文件,没有特殊结尾的表达式是正常的文件夹。文件 DR.py 读取一些数据,文件 train.py 训练一个模型,文件 pred.py 根据训练的模型进行预测,测试文件夹包含测试文件以测试以前的组件和烧瓶文件夹包含一个烧瓶应用程序 webservice 作为部署客户。到目前为止,一切都很好,在我的本地机器上集成一个
运行 DR.py & gt;运行 test_DR.py & gt;运行 train.py & gt;运行 test_train.py & gt;运行 pred.py & gt;运行 test_pred.py & gt;运行 webservice_flask.py
我不确定,如果这种结构是现实的,因为我读过一个阶段 (如 test) 的组件并行运行。我知道我必须在我的根项目文件夹中创建一个.gitlab-ci.yml 文件,以初始化 CI / CD 管道。该文件的结构 (据我了解) 应如下所示:
stages:
- build
- test
- deploy
build_database:
stage: build
script:
- ec "Load the data"
- #...here I want to run the DR.py file, but I don't know w
test_data_reader:
stage: test
script:
- ec "Test the loaded data"
- #...here I want to run the test_DR.py file, but I don't know w
...到目前为止,我的管道的每个组件都是如此。
有人可以帮我吗?我最初的尝试完全是吗?有人可以告诉我在 yaml 文档的项目中运行文件的命令吗?非常感谢!
您甚至不必将其分解为阶段,您可以在单个作业中运行所有阶段,只需在script
下列出它们,如下所示:
build_database:
stage: build
script:
- pytn DR.py
- pytn test/run test_DR.py
- pytn train.py
- pytn test/test_train.py
- pytn pred.py
- pytn test/test_pred.py
基本在管道中运行它,就像在本地运行它一样。
在你的设置中唯一没有意义的是最后一步-运行 webservice。你看,CI 运行者将无法充当你的 webservice 的服务器-它应该只是构建 / 部署并退出。您将不得不考虑在哪里以及如何运行这个 web 服务并在那里部署代码 (可能有一些工件)。如果你不知道从哪里开始,看看 Heroku 作为一个选项。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(60条)