Создайте проект, ориентированный на MSVC на Linux Jenkins - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть частный сервер, который я медленно настраивал для личных проектов, но я столкнулся с некоторым препятствием. Мой сервер работает под управлением Arch Linux (мне нравятся самые передовые и минималистичные установки в подобных ситуациях), и у меня работает Jenkins, чтобы я мог автоматически создавать проекты. У меня есть проект, над которым я работаю, который в настоящее время нацелен на платформу Win32 / 64 с использованием MSVC, но я не могу найти какую-либо информацию о том, как настроить работу в Jenkins для этой ситуации. Я надеялся, что смогу настроить экземпляр Docker, который сможет обеспечить набор инструментов MSVC, особенно с учетом того, что код Visual Studio доступен для Linux, и что я мог бы использовать его как часть своей установки Jenkins для генерации двоичных файлов Win для меня, чтобы тест на моей основной машине. Я упоминаю об этом, потому что, естественно, Visual Studio не является утилитой командной строки, и в настоящее время мой сервер является чисто автономной установкой, которая обеспечивает только взаимодействие с клиентом, поэтому, если это возможно, я бы хотел избежать непосредственного добавления пакетов GUI на сервер, но если это это единственный способ, я бы хотел сделать это. Неужели нет никакого способа добиться того, ради чего я иду с этим?

Извините, если в нем отсутствуют важные детали или он плохо отформатирован, я впервые задаю здесь вопрос, так как я очень редко не могу найти информацию, которую ищу, в уже существующем вопросе.

Ответы [ 2 ]

0 голосов
/ 03 ноября 2018

После исследования это в настоящее время невозможно, так как связано с неправильным пониманием того, что предоставляет докер. Docker просто использует базовую ОС для обеспечения всего и не обеспечивает никакой виртуализации сторонних ОС. Без версии инструментария MSVC, которая может работать на Linux, или, возможно, с использованием WINE, не существует способа достичь такой нехватки виртуальной машины. Так как WINE не идеален, самое надежное решение, как мне кажется, это VM, но YMMV. Другое преимущество использования ВМ заключается в том, что я могу сохранить сервер без головы.

0 голосов
/ 04 сентября 2018

Я не могу ответить на этот вопрос полностью, но эта тема мне тоже интересна.

Примечание: Код Visual Studio с открытым исходным кодом, но это редактор на основе Electron. Visual Studio IDE и MSVC являются проприетарными приложениями только для Windows.


На сайте https://blog.sixeyed.com/how-to-dockerize-windows-applications/ предполагается, что можно докернизировать приложения Windows, включая Visual Studio.

Образы Docker для приложений Windows должны быть основаны на microsoft / nanoserver или microsoft / windowsservercore или на другом изображении, основанном на одном из них.

Как только вы это заработаете, я буду использовать сборки командной строки Visual Studio, например devenv /build file.sln [optionally /project file.vcxproj ]. (https://docs.microsoft.com/en-us/visualstudio/ide/reference/devenv-command-line-switches?view=vs-2017).


Обратите внимание, что установщик VS2017 не работает в Wine. Я недавно подал ошибку для этого (https://bugs.winehq.org/show_bug.cgi?id=45749, а затем https://bugs.winehq.org/show_bug.cgi?id=45757).


Я лично использую Appveyor для автоматического создания приложений MSVC. Appveyor - это централизованная облачная служба на базе Windows, а не автономная система CI.

...