Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 20810|Yanıt: 0

[Kaynak] Jekins .NET Framework projesini nasıl dağıtıyor?

[Bağlantıyı kopyala]
Yayınlandı 22.11.2018 10:29:09 | | | |
Not: Bu makalede "build", "continuous build", "compile" ve "generate" kullanımları katı değil, sadece ne anlama geldiğini bilin.

Öncelikle, sürekli derleme yapmak istiyorsanız, komut satırını kullanmanız gerekir.
Ama dotnet core'un komutları dotnet framework projesinden biraz daha basit görünüyor.
Çünkü dotnetcore'un build komutudotnet msbuild xxxxx.csproj/yyyyy.sln
Ve dotnet framework'un build komutu.../msbuild.exe xxxx.csproj/yyyyy.sln, ve aralarındaki en kafa karıştırıcı şey (özellikle hiç çukura düşmemiş olanlar, bırak şunu)msbuild.exeTam olarak nerede?msbuild.exe? Sonuçta, dotnet framework SDK'sı veya Windows'ta farklı Visual Studio sürümleri kurulduktan sonra, birçok oyun olacakmsbuild.exe, insanlar hangisini kullanacaklarını bilmiyor.

Windows'ta dotnet framework projesi nasıl oluşturulacağıyla başlayalım, projenin karmaşıklığının ana fikri etkilememesi için, burada Hello World'e benzer basit bir konsol projesi oluşturmak istediğimizi düşünüyoruz.
Özetle, çevre:
Geliştirme makinesi, Windows PC;
Yayın makinesi, Windows Server;
Project, basit bir DOT Net framework konsol projesi. (Burada sürüm 4.5.2 kullanıyorum)

Açık

En iyisi, yeni bir projeni, git gibi kod yönetimine sahip bir geliştirme makinesinde başlatmaktır; böylece proje ağ olan diğer makinelerde klonlanabilir.
Projede ne yazarsanız yazın, derlenebildiği sürece. Mesela, merhaba dünyası.
Ayrıca, projeye nuget paketine biraz bağımlılık eklemek ve log4net referansları gibi istediğinizi seçmeniz önerilir.
Projeyi geliştirme makinesinde derlemeyi deneyin.
(Birçok denemeden sonra, proje derlenirken komut satırının msbuild.exe C:\windows\Microsoft .NET\Framework\v4.xxx\msbuild.exe kullanması gerektiği doğrulandı.) Ancak spesifik proje türü hâlâ tipe bağlıdır, Framework64'ü seçip seçmeyeceğinizi seçin, 64 mi yoksa v4.xxx mi yoksa 3.x, 2.x olsun, bu anlam çok basit, anlayamazsanız çaresiz olursunuz)
Proje C:\projects\test yolu altındaysa, derlenen komut şu olmalıdır:

veya
Elbette, duruma bağlı olarak /p:Configuration=Release /p:plotform="Herhangi bir CPU" gibi başka parametreleri de getirmeniz gerekebilir.

4. Test makinesinde git ile projeyi klonlayın ve aynı komutla projeyi derlemeye çalışın.
5. Başarılı olamazsanız, ortamda sorun olmadığı sürece doğru msbuild.exe, yolu, parametreleri vb. denemeye devam etmelisiniz; kesinlikle başarılı olacaksınız.
6. Ancak işte çok sinir bozucu bir soru geliyor, nuget bağımlılıkları ne olacak? Şimdi derlemede belirgin bir sorunum yok, ama nuget paketini nerede bulacağımı nasıl bilebilirim?
Bu soru uzun zamandır kafamda kalmıştı.
NuGet'in resmi web sitesine gidip nuget.exe dosyayı indirin.
Denendikten sonra, bu dosya projeye (yani SLN veya CSPROJ dosyasıyla aynı dizine) yerleştirilir ve çalıştırılırnuget.exe restoreGerekli Nuget paketini almak için komut ver. Bu, birçok denemeden sonra yaşadığım deneyim)
Şey, scripte bir eylem ekleyip her seferinde nuget.exe restore komutunu çalıştırabilirsiniz.
Ayrıca, ortam değişkenine (açıklama olmadan) nuget.exe eklemek ve her seferinde çalıştırmak biraz daha pratik olurdu.
7. Son olarak, projenin yayınlama makinesinde bu tür işlemler ve komutlarla başarıyla derlenebildiğini test ettim.
Bu, nihai başarıya yakın.
Aslında, jekinlerin ne olduğunu bilenler için mesele sona erdi ve gerisini kendi başlarına halledebilir.

Aşağıda

1. Jekins'in resmi web sitesine gir, indir, kur, Jekins'i başlat, hesap aç, açıklama yok. Dotnet projeleri için msbuild, mstest ve mstestrunner eklentilerini yüklemeniz gerekiyor.

2. Jenkins global yapılandırması msbuild.



3. Yeni bir proje oluşturun ve projeyi yapılandırın



4. Projeyi inşa et.

Temelde, inşaat başarılı ve başarılı olmasa bile sorun gidermek kolaydır.

Aslında, jekinlerin kullanımı hakkında daha fazlası kendi kendine öğrenilir ve defalarca anlamaya çalışır.

Ek:

1. VS başarıyla derlenebiliyor ama komut satırında desteklenmeyen bir sözdizimi sorgusu varsa.
O zaman geliştirici, daha gelişmiş sözdizimi kurallarıyla derliyor olabilir (proje .NET çerçevesi 4.5.2 temelli olsa da), örneğin C# 6.0 gibi.
Sürüm makinesi sadece .NET framework 4.5.2'yi yüklediği için bazı en son sözdizimi desteklemiyor.
Bu durumda, en son SDK'yı sürüm makinesine yükleyin.
Şekilde gösterildiği gibi.
Microsoft resmi web sitesi SDK indirme:https://www.microsoft.com/net/download/visual-studio-sdks
İlgili SDK'yı indirin.
SDK zaten Runtime'ı içeriyor.

2. Eğer Jekins'in işi bir dizi işlem yapmak için windows bat komutunu kullanmak gerekiyorsa, Jenkins'in "Mevcut ortam değişkenleri listesine bak" seçeneğini kullanmak faydalı olacaktır.
Bunu "%WORKSPACE%" gibi yaz

3. Yolda boşluk varsa, örneğin C:\Program Files (x86)\Microsoft.NET, değişkenin her iki tarafına çift tırnak eklenmesi gereklidir.
Gibi:







Önceki:Jenkins kısa bir tanıtım yaptı
Önümüzdeki:Angular6 Materyal2, uyarı mesajı isteği kutusunu kapsüller
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com