python - 跨平台构建在 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
一个问题是python
和pip
在两个平台上是不同的。我不喜欢的另一部分是两个平台之间的逻辑也是重复的。这是我的第一个 gitlab-ci 项目,我习惯使用 Teamcity 和 Jenkins。虽然当时我也没有进行跨平台构建。是否有一些提示可以帮助改善这两个问题?
解决方案
推荐阅读
- docker-compose - docker-compose 中的网络可见性
- azure - Azure Wep 应用连接外部 Cloud SQL
- java - 通过比较存储为字符串列表的边值来显示三角形
- php - Oracle 数据库未使用 PHP 正确排序日期
- signalr - 如何使用 Angular 7 获取特定页面中的总活跃用户数
- php - 如何计算具有不同记录的查询?
- reporting-services - 我能否从我的自定义实用程序创建 Tableau(或任何其他报告工具)可以读取的报告文件?
- docker - 无法安装 Docker:Docker 桌面需要 Windows 10 专业版或企业版 15063 才能运行
- amp-html - AMP页面如果你使用浏览器返回,你不能点击任何其他链接
- javascript - 背包问题还是排列?如何解决我的问题?