Примечание: в этой статье использование терминов «build», «continuous build», «compile» и «generate» не является строгим, просто знайте, что это значит.
Прежде всего, если хотите строить непрерывно, нужно использовать командную строку. Но команды dotnet core кажутся немного проще, чем проект Dotnet Framework. Потому что команда сборки dotnetcore — этоDotnet MSBUILD xxxxx.csproj/yyyyy.sln А команда сборки в фреймворке dotnet — это.../msbuild.exe xxxx.csproj/yyyyy.sln, и самое запутанное среди них (в основном тех, кто никогда не падает в яму — просто брось её) — это вот чтоmsbuild.exeГде именно он находится?msbuild.exe? В конце концов, после установки SDK Dotnet Framework или других версий Visual Studio в Windows их будет многоmsbuild.exe, люди не понимают, какой из них выбрать.
Начнём с того, как построить проект на основе dotnet в Windows, чтобы не позволить сложности самого проекта повлиять на основную идею, здесь мы думаем, что хотим создать простой консольный проект, похожий на Hello World. Вкратце, окружающая среда: Машина для разработки, Windows PC; Издательская машина, Windows Server; Project — простой консольный проект на основе dot net framework. (Я использую версию 4.5.2)
на
Лучше всего инициализировать новый проект на машине с помощью управления кодом, таким как git, чтобы проект можно было клонировать на других машинах с сетью. Что бы вы ни написали в проекте на машине для разработки, главное, чтобы это можно было скомпилировать. Например, hello world. Кроме того, рекомендуется добавить небольшую зависимость от пакета nuget в проект и выбрать любую информацию, например, ссылки на log4net. Попробуйте скомпилировать проект на машине для разработки. (После множества попыток было подтверждено, что командная строка должна использовать msbuild.exe C:\windows\Microsoft .NET\Framework\v4.xxx\msbuild.exe при компиляции проекта.) Однако конкретный тип проекта всё равно зависит от типа, выбирайте ли Framework64 или нет 64, будь то v4.xxx или 3.x, 2.x — это очень просто, если вы не понимаете, он будет беспомощен. Если проект находится в пути C:\projects\test, то скомпилированная команда должна быть следующей:
или
Конечно, может понадобиться и другие параметры, такие как /p:Configuration=Release /p:plotform="Любой процессор", в зависимости от ситуации.
4. На тестовой машине клонируйте проект в git и попробуйте скомпилировать проект той же командой. 5. Если не получится, нужно продолжать пробовать правильные msbuild.exe, путь, параметры и т.д., пока в окружении нет проблем, вы обязательно добьётесь успеха. 6. Однако возникает очень раздражающий вопрос: а как насчёт зависимостей Nuget? У меня нет очевидных проблем с компиляцией, но как мне понять, где найти пакет nuget? Этот вопрос давно меня не покоит. Перейдите на официальный сайт NuGet и скачайте nuget.exe файл. После попытки этот файл помещается в проект (то есть в ту же папку, что и файл SLN или CSPROJ) и выполняетсяnuget.exe восстановлениеКоманда для получения необходимого пакета Nuget. Вот такой опыт я получил после множества попыток) Вы можете добавить действие в скрипт и выполнять команду nuget.exe восстановления каждый раз. Также было бы немного удобнее добавить nuget.exe в переменную среды (без объяснений) и затем выполнять её каждый раз. 7. Наконец, я протестировал и обнаружил, что проект можно успешно скомпилировать с помощью таких операций и команд на издательской машине. Это близко к абсолютному успеху. На самом деле, для тех, кто понимает, что такое джекины, на этом всё заканчивается, а остальное можно сделать сами.
Ниже
1. Зайдите на официальный сайт Jekins, скачайте, установите, запустите Jekins, зарегистрируйте аккаунт — без объяснений. Для dotnet-проектов нужно установить плагины msbuild, mstest и mstestrunner.
2. Глобальная конфигурация Jenkins msbuild.
3. Создайте новый проект и настройте его
4. Постройте проект.
В целом, строительство проходит успешно, и её легко устранить, даже если она не увенчается успехом.
На самом деле, что касается использования джекинс, больше из этого усваиваешь сам и пытаешься понять много раз.
Дополнение:
1. Если VS удается успешно скомпилировать, но в командной строке есть неподдерживаемая синтаксическая вставка. Возможно, разработчик компилирует с более продвинутыми синтаксическими правилами (хотя проект основан на фреймворке .NET 4.5.2), таких как C# 6.0 Релиз-машина установила только .NET фреймворк 4.5.2, поэтому не поддерживает часть последнего синтаксиса. В таком случае установите последний SDK на релизный компьютер. Как показано на рисунке. Официальный сайт Microsoft SDK для скачивания:https://www.microsoft.com/net/download/visual-studio-sdks Скачайте соответствующий SDK. SDK уже включает Runtime.
2. Если задача Джекинса требует использования команды Windows bat для выполнения серии операций, то использование функции Дженкинса «Обратиться к списку доступных переменных среды» будет полезно. Напишите это как «%WORKSPACE%»
3. Если на пути есть пространство, например C:\Program Files (x86)\Microsoft.NET, необходимо добавить двойные кавычки по обе стороны переменной. Как:
|