Geautomatiseerde implementaties op uw servers instellen met Visual Studio en FTP

0
178

Visual Studio heeft opties om uw release-build automatisch te publiceren naar externe servers via FTP . Dit kan erg handig zijn als u vaak wijzigingen implementeert of test in een externe omgeving. We laten je zien hoe je het instelt en vertellen hoe het werkt.

Publiceren via FTP

FTP is een oud, over het algemeen onveilig protocol, maar zolang je FTP-server de moderne extensies van FTPS ondersteunt, die TLS-codering gebruikt, zou het goed moeten zijn. Je kunt je FTP-gebruikers ook chrooten zodat ze alleen naar de doelmap kunnen schrijven.

Je kunt onze handleiding voor het opzetten van een FTP-server lezen voor meer informatie. U moet ervoor zorgen dat FTPS is ingesteld en dat normale FTP is uitgeschakeld.

GERELATEERD: Een Linux FTP-server instellen voor snelle bestandsoverdracht

Niet alle typen builds worden echter ondersteund. Klassenbibliotheken hebben bijvoorbeeld geen opties om te publiceren. ASP.NET Core-applicaties worden beter ondersteund en hebben opties om te publiceren naar Azure en Docker.

Gelukkig kun je de applicaties die niet worden ondersteund zelf aansluiten, aangezien Visual Studio ook opties biedt om post-build PowerShell-scripts uit te voeren. Deze draaien op build in plaats van op publiceren, maar je kunt gewoon een aangepast “publish” profiel bouwen met gekopieerde release-instellingen.

Advertentie

U kunt deze post-build scripts gebruiken om FTP- of SCP-overdrachten uit te voeren, of zelfs om verbinding te maken met externe services zoals AWS S3 of een Docker-register.

Visual Studio instellen

U zou tijdens het bouwen een optie moeten zien om uw oplossing te publiceren. Als je dit niet ziet, moet je naar de back-upoptie gaan om post-build scripts te gebruiken.

U moet een nieuw publicatieprofiel maken of het standaardprofiel bewerken. Selecteer FTPS-server, hoewel u kunt publiceren naar Azure, Docker, een lokale map of IIS-webimplementatie als dat voor u beter werkt.

Voer de details van de verbinding in. Je moet het een URL geven, een pad naar waar het gaat uploaden en een gebruikersnaam/wachtwoord.

Klik vervolgens op publiceren, en je zou het moeten zien worden overgedragen in de console nadat de build is voltooid compleet. Als dit niet het geval is, krijgt u een foutmelding of een logbestand waarin u het probleem kunt oplossen.

Post-Build instellen Scripts voor andere toepassingen

De ingebouwde opties van Visual Studio zijn geweldig, maar als ze niet werken, moet je een beetje scripten. Klik met de rechtermuisknop op uw project en selecteer “Eigenschappen”:

Advertentie

Vervolgens, onder “Gebeurtenissen bouwen,” je kunt een post-build commando instellen. Merk op dat dit cmd is, dus je moet PowerShell handmatig aanroepen, en dit is ook beperkt tot de uitvoermap van de build, dus als je het PowerShell-script in de hoofdmap van je project opslaat, moet er mogelijk een paar mappen hoger naar verwijzen met …….

Stel het in om na het bouwen te worden uitgevoerd, en u kunt kiezen of u het script altijd wilt uitvoeren, wanneer het 8217;s succesvol is, of wanneer de build wordt bijgewerkt. Als je servers of iets dergelijks opnieuw opstart, wil je het script pas uitvoeren als het is bijgewerkt. Selecteer anders “bij succesvolle build” tenzij je een reden hebt om het script uit te voeren wanneer de build mislukt.

PowerShell heeft geen ingebouwde ondersteuning voor FTP. Je hebt twee opties: gebruik PowerShell Remoting via SSH om over te zetten naar een Linux-server, of gebruik een PowerShell-bibliotheek voor FTP.

$s = New-PSSession -HostName 123.123.123.123 -UserName ubuntu Copy-Item . example.txt /home/ubuntu -ToSession $s

Als u FTP moet gebruiken, kan WinSCP de overdracht vrij gemakkelijk afhandelen.

Add-Type -Path “WinSCPnet.dll” $sessionOptions = New-Object WinSCP .SessionOptions $sessionOptions.ParseUrl(“ftp://username:password@example.com/”) $session = New-Object WinSCP.Session $session.Open($sessionOptions) $session.PutFiles(“c:source *”, “/destination/”).Check() $session.Dispose()

In beide gevallen moet u ervoor zorgen dat uw script de juiste verwijzingen naar de juiste bestandslocaties heeft. Als u klikt op “Bewerk post-build,” je ziet een venster met alle variabelen die je aan je script kunt doorgeven.