Deployment Ve CI/CD Süreçleri Hakkında
-
Ufak bi proje var
.net core, angular, rabbitmq, redis vs kullanılıyor.
Şuanda publish çıkılırken build edip uzak masaüstüne bağlanıp elle klasöre kopyalıyorum.
Bazen bilgisayarımda çalışan işlemler uzak cihazda çalışmıyor. Debug ta edemiyorum IIS te çalışan uygulamayı.
Bir yandan docker jira öğreneyim bir yandan da işleri kolaylaştırmış olurum diye düşünüyorum. Ama aşinalığım yok bu platformlara.
Bu süreçleri kolaylaştırabilecek yönlendirebileceğiniz ücretsiz çözümler / tavsiyeleriniz var mıdır?
Yoksa ufak bir proje için gereksiz meşkalelere mi dalmış olurum.
-
eğer ufak bir projeyse gereksiz meşgale olur. serverde neden çalışmadığını bir log akışıy ekleyerek çözebilrsin. eventviewer da da tahmin ettiğinden fazla log bulursun projenle ilgili.
"Bazen bilgisayarımda çalışan işlemler uzak cihazda çalışmıyor. Debug ta edemiyorum IIS te çalışan uygulamayı."
docker tam olarak bu problemler yüzünden ortaya çıktı. eğer mikroservis mimarisi gibi bir projeyse docker compose biraz karıştırıyor ortalığı ama tek projeyse hiç komut ezberrlemeden bir kaç komutla ayağa kaldırıp projeni çalıştırabilirsin.
kur karıştır bence tek lazım olan docker şu anda.
kolay gelsin.
-
@manglerman
kıymetli yanıtın için teşekkür ederim hocam, boş kaldıkça kurcalayayım bunları.
-
Https bunu yazdı
Ufak bi proje var
.net core, angular, rabbitmq, redis vs kullanılıyor.
Şuanda publish çıkılırken build edip uzak masaüstüne bağlanıp elle klasöre kopyalıyorum.
Bazen bilgisayarımda çalışan işlemler uzak cihazda çalışmıyor. Debug ta edemiyorum IIS te çalışan uygulamayı.
Bir yandan docker jira öğreneyim bir yandan da işleri kolaylaştırmış olurum diye düşünüyorum. Ama aşinalığım yok bu platformlara.
Bu süreçleri kolaylaştırabilecek yönlendirebileceğiniz ücretsiz çözümler / tavsiyeleriniz var mıdır?
Yoksa ufak bir proje için gereksiz meşkalelere mi dalmış olurum.
Aradığın araç aşağıda hocam.
Nasıl ki local de development yaparken debug edebiliyoruz. Sunucuya Remote debugger ı kurup VS ile ona attach olup rahat rahat debug edebilirsin ;)
"visual studio remote debugger"
-
Kucuk projelerin icin docker kullan basin agrimasin. Ancak hobi amacli takilmiyorsan ve buyume/is degistirme gibi hedeflerin varsa(ayni alanda) jenkins yoldasin olsun. Oturup bak bir ara hocam, atla deve degil.
-
Sunucuya önce https://www.microsoft.com/web/downloads/platform.aspx bunu kurs. Sonra bunun üzerinden https://www.iis.net/downloads/microsoft/web-deploy kur. Ardından siten için IIS üzerinden Deploy > Configure Web Deploy Publishing yaparak Web Deploy ayarlarını al.
http://prntscr.com/OuDdQQIQbed_
Sonra Visual Studioda projene bu ayarları ekle. Bundan sonra Visual Studio da projene sağ tıklayıp Publish dediğinde doğrudan Web Deploy ile siteni güncelleyeceksin. Çok çok pratik ve hızlı olduğunu göreceksin.
Visual Studio üzerinde Projenin altında Properties > PublishProfiles kısmı var. Oradaki ilgili xml dosyasının içine <AllowUntrustedCertificate>True</AllowUntrustedCertificate> yazabilirsin. Aksi durumda her publish te sana sertifika uyarısı verebilir.
Özetle deployment konusundaki ilacın Web Deploy. Elle klasörleri kopyala sonra sunucuya login ol yapıştır onu bekle falan uğraşılmaz.
-
Hannibal_King bunu yazdı
Sunucuya önce https://www.microsoft.com/web/downloads/platform.aspx bunu kurs. Sonra bunun üzerinden https://www.iis.net/downloads/microsoft/web-deploy kur. Ardından siten için IIS üzerinden Deploy > Configure Web Deploy Publishing yaparak Web Deploy ayarlarını al.
http://prntscr.com/OuDdQQIQbed_
Sonra Visual Studioda projene bu ayarları ekle. Bundan sonra Visual Studio da projene sağ tıklayıp Publish dediğinde doğrudan Web Deploy ile siteni güncelleyeceksin. Çok çok pratik ve hızlı olduğunu göreceksin.
Visual Studio üzerinde Projenin altında Properties > PublishProfiles kısmı var. Oradaki ilgili xml dosyasının içine True yazabilirsin. Aksi durumda her publish te sana sertifika uyarısı verebilir.
Özetle deployment konusundaki ilacın Web Deploy. Elle klasörleri kopyala sonra sunucuya login ol yapıştır onu bekle falan uğraşılmaz.
hocam aslında arkadaşın problemi sadece publish adımını kısaltmak değil anladığım kadarıyla. localde çalışan proje serverda çalışmıyor diyor bütün developerlerin ortak yarası :)
yoksa jenkins veya git platformuna göre azure veya bitbucket pipeline'lar ile bu senaryoları daha da kısaltmak mümkün ama server bazlı bir problem olduğunda yayına almaktan öte yayına alınanı çalıştırmak bir problem haline geliyor.
kolay gelsin.
-
Jenkins vb. platformlara bakmadan önce GitHub Actions ihtiyaçlarını karşılıyor mu bir bakmanı öneririm.
-
docker + net core + dockerfile + linux debian + jenkins = fazlasıyla yetiyor bana
Hata alma işine gelirsek remote debugging kullan.
-
manglerman bunu yazdıHannibal_King bunu yazdı
Sunucuya önce https://www.microsoft.com/web/downloads/platform.aspx bunu kurs. Sonra bunun üzerinden https://www.iis.net/downloads/microsoft/web-deploy kur. Ardından siten için IIS üzerinden Deploy > Configure Web Deploy Publishing yaparak Web Deploy ayarlarını al.
http://prntscr.com/OuDdQQIQbed_
Sonra Visual Studioda projene bu ayarları ekle. Bundan sonra Visual Studio da projene sağ tıklayıp Publish dediğinde doğrudan Web Deploy ile siteni güncelleyeceksin. Çok çok pratik ve hızlı olduğunu göreceksin.
Visual Studio üzerinde Projenin altında Properties > PublishProfiles kısmı var. Oradaki ilgili xml dosyasının içine True yazabilirsin. Aksi durumda her publish te sana sertifika uyarısı verebilir.
Özetle deployment konusundaki ilacın Web Deploy. Elle klasörleri kopyala sonra sunucuya login ol yapıştır onu bekle falan uğraşılmaz.
hocam aslında arkadaşın problemi sadece publish adımını kısaltmak değil anladığım kadarıyla. localde çalışan proje serverda çalışmıyor diyor bütün developerlerin ortak yarası :)
yoksa jenkins veya git platformuna göre azure veya bitbucket pipeline'lar ile bu senaryoları daha da kısaltmak mümkün ama server bazlı bir problem olduğunda yayına almaktan öte yayına alınanı çalıştırmak bir problem haline geliyor.
kolay gelsin.
Tamam 2 adet soru sormuş. 2.sorusuna cevap vermedim. Çünkü çok geniş ve derin bir konu o. Pek çok farklı nedenden dolayı localde çalışan kod sunucuda çalışmayabilir. Zaten çözümlerden biri olarak "visual studio remote debugger" söylenmiş (ben daha önce kullanmamıştım). Ama hiç tahmin edilemeyecek bir sebepten dolayı da kod beklenilen şekilde çalışmayablir. Örneğin, static bir liste kullanılır. Sonra ISS in ilgili process i uykuya dalar veya ölür vb.... sonra static listedeki veriler uçar mesela. Bunun gibi türlü türlü senaryolar olabilir.
1.soruda ise deployment ı kopyala yapıştır şeklinde yaptığını söylemiş Ve buna bir çözüm istiyor. Bunun en kolay çözümü WebDeploy. Saniyeler içerisinde atıyor uygulamayı server a. Hem WebDeploy da öğrenmelik bir konu da yok. Çok basit 3-5 tıklama yapacak o kadar.
Azure, git vb. konulara girse açıp biraz döküman okuması gerekecek. Ayrıca projesinin ufak olduğunu da söylemiş. Belki bir versiyon kontrol sistemi kullanmıyordur bile. Bence WebDeploy arkadaşın aradığı çözüm.