Забележка: В тази статия употребата на "build", "continuous build", "compile" и "generate" не е строга, просто знайте какво означава.
Първо, ако искате да строите непрекъснато, трябва да използвате командния ред. Но командите на dotnet core изглеждат малко по-прости от проекта за dotnet framework. Защото командата за build на dotnetcore еDotnet msbuild xxxxx.csproj/yyyyy.sln А командата за изграждане на dotnet фреймуърка е.../msbuild.exe xxxx.csproj/yyyyy.sln, и най-объркващото сред тях (главно хора, които никога не са попадали в яма, просто я остави) е товаmsbuild.exeКъде точно се намира?msbuild.exe? В крайна сметка, след инсталирането на dotnet framework SDK или различни версии на Visual Studio в Windows, ще има многоmsbuild.exe, хората не разбират кое да използват.
Нека започнем с това как да изградим dotnet framework проект в Windows, за да не позволим сложността на самия проект да повлияе на основната идея – тук мислим, че искаме да създадем прост конзолен проект, подобен на Hello World. В обобщение, околната среда: машина за разработка, Windows PC; Издателска машина, Windows Server; Проект, прост конзолен проект с Dot Net Framework. (Използвам версия 4.5.2 тук)
на
Най-добре е нов проект да се инициализира на машина за разработка с управление на код като git, така че проектът да може да бъде клониран на други машини с мрежа. Каквото и да напишеш в проекта на машината за разработка, стига да може да се компилира. Например, здравей, свят. Освен това се препоръчва да добавите малко зависимост към 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.exe файл. След опит, този файл се поставя в проекта (т.е. в същата директория като SLN или CSPROJ файла) и се изпълняваnuget.exe възстановяванеЗа да получи необходимия пакет Nuget. Това е опитът, който получих след много опити) Можеш да добавиш действие към скрипта и да изпълняваш командата nuget.exe restore всеки път. Също така би било малко по-удобно да добавяш nuget.exe към променливата на околната среда (без обяснение) и след това да я изпълняваш всеки път. 7. Накрая тествах и установих, че проектът може успешно да се компилира чрез такива операции и команди на издателската машина. Това е близо до върховен успех. Всъщност, за тези, които разбират какво са jekins, това е краят на въпроса, а останалото може да се направи сами.
По-долу
1. Отидете на официалния уебсайт на Jekins, изтеглете, инсталирайте, стартирайте Jekins, регистрирайте акаунт, без обяснения. За dotnet проекти трябва да инсталирате msbuild, mstest и mstestrunner плъгините.
2. Глобална конфигурация на Jenkins MSBUILD.
3. Създайте нов проект и конфигурирайте проекта
4. Изградете проекта.
По същество строителството е успешно и е лесно да се отстранява проблем, дори и да не е успешно.
Всъщност, що се отнася до използването на jekins, повече от тях се научава сам и многократно се опитва да разбере.
Допълнение:
1. Ако VS може успешно да се компилира, но в командния ред има неподдържан синтаксичен prompt. Тогава може да се окаже, че разработчикът компилира с по-напреднали синтактични правила (въпреки че проектът е базиран на .NET framework 4.5.2), като C# 6.0 Машината за издание инсталира само .NET framework 4.5.2, така че не поддържа част от най-новия синтаксис. В този случай инсталирай най-новия SDK на release machine. Както е показано на фигурата. Официален сайт на Microsoft SDK изтегляне:https://www.microsoft.com/net/download/visual-studio-sdks Изтеглете съответния SDK. SDK вече включва Runtime.
2. Ако задачата на Jekins трябва да използва командата windows bat за изпълнение на серия от операции, тогава използването на "Вижте списъка с наличните променливи на средата" на Дженкинс ще бъде полезно. Напиши го като "%WORKSPACE%"
3. Ако има пространство в пътя, например C:\Program Files (x86)\Microsoft.NET, необходимо е да се добавят двойни кавички от двете страни на променливата. Като:
|