首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Gitlab CICD中并行运行相同的重复工作

在Gitlab CICD中并行运行相同的重复工作
EN

Stack Overflow用户
提问于 2022-06-13 10:21:18
回答 1查看 34关注 0票数 0

是否有更好的方法并行运行多个作业而不重复。

我需要使用不同的变量同时运行多个python脚本,例如:

代码语言:javascript
复制
python main.py --table table_1
python main.py --table table_2
python main.py --table table_3

gitlab-ci.yml看起来是这样的:

代码语言:javascript
复制
extract-table1:
  stage:
   - run
  extends:
    - .execute-script
  script:
    - python main.py --table table_1

extract-table2:
  stage:
   - run
  extends:
    - .execute-script
  script:
    - python main.py --table table_2
...
and so on..

如何避免这样的重复?但我不想循环它们,因为我需要它们并行。我有10张桌子要做。所以重复似乎太多了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-13 14:13:51

您可以使用并行:矩阵,如下所示:

代码语言:javascript
复制
extract-table:
  stage:
   - run
  extends:
    - .execute-script
  script:
    - python main.py --table "$TABLE_NAME" --class "$CLASS_NAME"
  parallel:
    matrix:
      - TABLE_NAME: [table_1, table_2, table_3]
        CLASS_NAME: class_1
      - TABLE_NAME: [table_4, table_5, table_6]
        CLASS_NAME: class_2
      - TABLE_NAME: [table_7, table_8]
        CLASS_NAME: [class_3, class_4]

作业将运行

代码语言:javascript
复制
python main.py --table "table_1" --class "class_1"
python main.py --table "table_2" --class "class_1"
python main.py --table "table_3" --class "class_1"
代码语言:javascript
复制
python main.py --table "table_4" --class "class_2"
python main.py --table "table_5" --class "class_2"
python main.py --table "table_6" --class "class_2"
代码语言:javascript
复制
python main.py --table "table_7" --class "class_3"
python main.py --table "table_8" --class "class_3"
python main.py --table "table_7" --class "class_4"
python main.py --table "table_8" --class "class_4"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72601237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档