首页 > 解决方案 > 跨平台构建在 gitlab-ci

问题描述

我有一个 python 项目,我正在尝试构建并部署到 windows 和 mac。我正在尝试执行一些 python 脚本,并且两个平台之间的可执行文件不同。如何编写我的.gitlab-ci.yml文件以使其在两个平台上都可以使用?

我真的不想重复。但这就是我迄今为止所做的。这基本上就是我所做的:

# this isn't compatible on both platforms!
before_script:
  - python -V
  - python -m venv venv
  - pip install -r requirements.txt

stages:
  - test

win_test:
  stage: test
  tags:
    - windows
  script:
    - pip install nose
    - nosetests --with-xunit -v --xunit-file=tests/nosetests.xml tests
  artifacts:
    reports:
      junit: tests/nosetests.xml

osx_test:
  stage: test
  tags:
    - osx
  script:
    - pip3 install nose
    - python3 -m nosetests --with-xunit -v --xunit-file=tests/nosetests.xml tests
  artifacts:
    reports:
      junit: tests/nosetests.xml

一个问题是pythonpip在两个平台上是不同的。我不喜欢的另一部分是两个平台之间的逻辑也是重复的。这是我的第一个 gitlab-ci 项目,我习惯使用 Teamcity 和 Jenkins。虽然当时我也没有进行跨平台构建。是否有一些提示可以帮助改善这两个问题?

标签: pythoncross-platformgitlab-ci

解决方案


推荐阅读