Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 20810|Отговор: 0

[Източник] Как Jekins внедрява проект за .NET Framework

[Копирай линк]
Публикувано в 22.11.2018 г. 10:29:09 ч. | | | |
Забележка: В тази статия употребата на "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, необходимо е да се добавят двойни кавички от двете страни на променливата.
Като:







Предишен:Дженкинс накратко въведе
Следващ:Angular6 Material2 обхваща прозореца за предупреждение
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com