Код: Выделить всё
def build():
for c in ["Debug", "Release"]:
subprocess.check_call(
f'vcvarsall.bat x64 && \
cmake -G "NMake Makefiles" \
-B{os.path.dirname(os.path.realpath(__file__))}/src/x64/{c} \
-S{os.path.dirname(os.path.realpath(__file__))}/src \
-DCMAKE_BUILD_TYPE={c} & \
cmake --build {os.path.dirname(os.path.realpath(__file__))}/src/x64/{c}',
)
if __name__ == "__main__":
build()
Запуск сценария из задания запуска GitLab в Windows с помощью .gitlab-ci.yml ниже не удается.
Код: Выделить всё
build:
stage: build
script:
- python build.py
tags:
- windows

В CMakeError.log следующая ошибка сообщается:

Приведенная выше ошибка ссылки заставляет меня думать, что запуск vcvarsall.bat из задания запуска GitLab не полностью настраивает среду - он меняет среду, но недостаточно для успешного завершения последующего cmake. Я вижу много различий между средой, настроенной с помощью vcvarsall.bat при запуске из задания запуска GitLab, и cmd.exe.
Например, слева среда, определенная при запуске скрипта из задания запуска GitLab, и справа от cmd.exe:



Почему существуют эти экологические несоответствия и как их исправить?
Подробнее здесь: https://stackoverflow.com/questions/733 ... -gitlab-ci