Implementeren in Azure Kubernetes Service (AKS) met behulp van DevOps Projects - VSTS Sprint 134-update
De Sprint 134-update van Visual Studio Team Services (VSTS) biedt betere ondersteuning voor Ruby-, Python- en Java-talen in Build en nog meer implementatieopties voor release. Een van deze opties is het toevoegen van Azure Kubernetes Service (AKS) in Azure DevOps Projects om u te helpen aan de slag te gaan met containertoepassingen die klaar zijn voor schaalaanpassing. We kondigen ook aan dat releasepoorten, die de afgelopen maanden in preview zijn geweest, nu algemeen beschikbaar zijn om u te helpen bij het automatiseren van de controle van progressieve implementaties in omgevingen van een release.
Er is ook een nieuwe versie van de VSTS-demogenerator beschikbaar om VSTS eenvoudig te demoteren en te leren met behulp van een uitgebreide set voorbeeldgegevens en -configuratie.
Wat is er nieuw in VSTS?
Functies
Werk
Build
- Ruby-apps bouwen op basis van verschillende Ruby-versies
- Python-apps bouwen, testen en publiceren op basis van verschillende Python-versies
- Java-apps bouwen op gehoste agents met Java 10
- Gebruik verbeterde Xcode-build- en testuitvoer van xcpretty
Vrijgeven
- Geleidelijk beschikbaar stellen en fase-implementaties met behulp van releasepoorten, nu algemeen beschikbaar
- Implementeren in Azure Kubernetes Service (AKS) en Azure Service Fabric met behulp van Azure DevOps Projects
- Implementeren in Azure SQL Database met behulp van Azure DevOps Projects
- Hybride toepassingen vrijgeven aan Azure Stack
- Helm-versie beheren die wordt gebruikt in release
Pakket
- Pakketten volgen
- Bepalen wie pakketten uit upstream-bronnen kan ophalen
- Instellingen voor feed wijzigen zonder handmatig op te slaan
Testen
Wiki
Werk
Query uitvoeren op lege velden met tekst met opmaak
Zoek werkitems met een leeg tekstveld met opmaak, zoals Beschrijving, met behulp van de nieuwe IsEmpty-queryoperator . Deze functie heeft prioriteit gekregen op basis van een suggestie.
Build
Ruby-apps bouwen op basis van verschillende Ruby-versies
Ruby-versies 2.3.7, 2.4.4 en 2.5.1 zijn toegevoegd aan gehoste agents. Stel de versie van Ruby in die door uw pijplijn wordt gebruikt door de taak Ruby-versie gebruiken toe te voegen aan uw buildstappen. De versie van Ruby die u opgeeft, wordt geïnstalleerd vanuit de cache van het hulpprogramma van de agent en eventueel toegevoegd aan de omgevingsvariabele PATH van uw build. U kunt zelfs een bereik instellen voor het versienummer, zoals >= 2.4
.
Python-apps bouwen, testen en publiceren op basis van verschillende Python-versies
Python-versies 2.7.14, 3.3.7, 3.4.8, 3.5.5, 3.6.4 en 3.7.0-b2 zijn nu beschikbaar op gehoste agents. Stel de versie van Python in die door uw pijplijn wordt gebruikt door de python-versietaak gebruiken toe te voegen aan de buildstappen. De versie van Python die u opgeeft, wordt geïnstalleerd vanuit de cache van het hulpprogramma van de agent en eventueel toegevoegd aan de omgevingsvariabele PATH van uw build. U kunt zelfs een bereik instellen voor het versienummer, zoals >= 3.3
.
Voor het algemene scenario van het testen van een Python-pakket in meerdere versies van Python, kiest u de Python-pakketsjabloon bij het maken van uw build-pijplijn. Hiermee krijgt u een eerste set stappen voor het uitvoeren van tests op een matrix met Python-versies en het optioneel publiceren van uw pakket.
Java-apps bouwen op gehoste agents met Java 10
Op de gehoste agentcomputers waarop Linux, macOS en Windows worden uitgevoerd, is Java 10 vooraf geïnstalleerd. De buildtaken van Ant, Gradle en Maven vereenvoudigen de selectie van Java 10 en de bijbehorende architectuur voor uw build.
Gebruik verbeterde Xcode-build- en testuitvoer van xcpretty
xcpretty verbetert de leesbaarheid van xcodebuild-uitvoer en genereert testresultaten in JUnit-indeling. De Xcode-buildtaak gebruikt nu automatisch xcpretty wanneer deze beschikbaar is op de agentcomputer, omdat deze zich op gehoste macOS-agents bevindt. Hoewel xcpretty-uitvoer anders en minder uitgebreid kan zijn dan xcodebuild-uitvoer, maakt VSTS nog steeds de volledige xcodebuild-logboeken beschikbaar voor elke build.
Vrijgeven
Geleidelijk beschikbaar stellen en fase-implementaties met behulp van releasepoorten, nu algemeen beschikbaar
Releasepoorten, die gegevensgestuurde goedkeuring van implementaties mogelijk maken, worden nu algemeen beschikbaar. Met releasepoorten kunt u toepassingsstatuscriteria opgeven waaraan moet worden voldaan voordat een release wordt gepromoveerd naar de volgende omgeving. Alle opgegeven poorten worden periodiek geëvalueerd vóór of na een implementatie, totdat ze allemaal zijn geslaagd. Er zijn vier soorten poorten uit de doos beschikbaar en u kunt meer poorten toevoegen vanuit marketplace. U kunt controleren of aan alle vereiste criteria voor een implementatie is voldaan. Raadpleeg de documentatie voor releasepoorten voor meer informatie.
Implementeren in Azure Kubernetes Service (AKS) en Azure Service Fabric met behulp van Azure DevOps Projects
Azure Kubernetes Service (AKS), een volledig beheerde Kubernetes-service in Azure, kan nu worden gericht bij het starten van een nieuwe Node.js-, .NET Core- of Java-app in DevOps Projects. U kunt ook beginnen met uw bestaande toepassing door uw eigen code mee te nemen. Selecteer een toepassingstaal, een runtime en vervolgens AKS. Het DevOps-project maakt het AKS-cluster en stelt een pijplijn voor continue levering in met behulp van Helm Charts.
U kunt azure Service Fabric ook richten op nieuwe .NET Core-apps in DevOps Projects. Dit biedt u nog een andere optie om aan de slag te gaan met een nieuw project dat een volledige DevOps-pijplijn bevat, of u nu de controle over een VIRTUELE machine wilt behouden, de eenvoud van een web-app wilt behouden of optimaliseert voor hoge schaal. Zie de zelfstudiedocumentatie voor AKS - en Service Fabric-documentatie voor meer informatie.
Implementeren in Azure SQL Database met behulp van Azure DevOps Projects
Azure SQL Database, een volledig beheerde relationele clouddatabase, kan nu worden gericht in DevOps Projects, wanneer u een nieuwe .NET-app start en ASP.NET als runtime selecteert. U kunt de SQL Database toevoegen aan uw .NET-app door gewoon een database toevoegen te selecteren. Het DevOps-project maakt een voorbeeld van twee lagen, een verbonden toepassing, met inbegrip van een pijplijn voor continue levering voor beide lagen. Zie de zelfstudiedocumentatie voor meer informatie.
Hybride toepassingen vrijgeven aan Azure Stack
Ondersteuning voor Azure Stack is niet beschikbaar als privé-preview en is nu algemeen beschikbaar. Azure Stack is een geïntegreerd systeem van software en gevalideerde hardware waarmee Azure-services en -mogelijkheden on-premises worden uitgebreid. U kunt nu een nog consistenter DevOps-proces hebben dat alle elementen omvat, bouwen, implementeren en testen of u cloud-, on-premises of hybride toepassingen uitvoert. Er zijn geen codewijzigingen vereist. Maak gewoon verbinding met Azure Stack met dezelfde hulpprogramma's en functies als voor elk ander implementatiedoel. U ziet nu de optie AzureStack in het veld Omgeving in het dialoogvenster Azure Resource Manager-service-eindpunt toevoegen wanneer u een nieuwe service toevoegt vanuit de projectbeheerdersinstellingen of een build- of releasedefinitie. Zie de documentatie over Het implementeren van apps in Azure Stack voor meer informatie.
Helm-versie beheren die wordt gebruikt in release
De Helm Tool Installer-taak verkrijgt een specifieke versie van Helm van internet of de cache met hulpprogramma's en voegt deze toe aan het PAD van de agent (gehost of privé). Gebruik deze taak om de versie van Helm te wijzigen die wordt gebruikt in volgende taken, zoals de .NET Core CLI-taak . Als u deze taak toevoegt vóór de Helm Deploy-taak in een build- of releasedefinitie, zorgt u ervoor dat u uw app inpakt en implementeert met de juiste Helm-versie. Deze taak helpt ook bij het installeren van het kubectl-hulpprogramma , wat een vereiste is om Helm te laten werken.
Pakket
Pakketten volgen
Voor de laatste update hebben we een nieuw type pakketmelding uitgebracht, waarmee u updates kunt ontvangen over pakketten en feeds die u belangrijk vindt door een nieuw abonnement in te stellen in de instellingen voor meldingen . Nu hebben we het nog eenvoudiger gemaakt om meldingen in te stellen met een nieuwe knop Volgen rechtstreeks in elk pakket. De knop Volgen is ook compatibel met releaseweergaven. Als u een pakket volgt terwijl u het bekijkt via een weergave, ontvangt u alleen updates voor nieuwe versies die naar die weergave worden gepromoveerd.
Bepalen wie pakketten uit upstream-bronnen kan ophalen
Met de nieuwe upstream-bronnenfunctie die voor het laatst is uitgebracht, kunt u nu NuGet- en NPM-pakketten van feeds van andere teams gebruiken via uw feed. Terwijl we naar uw feedback hebben geluisterd, hebben we gehoord dat de huidige machtigingen voor upstream-bronnen, waarvoor u inzender moet zijn om pakketten van een upstream op te slaan, in sommige situaties niet gedetailleerd genoeg waren.
Deze update hebben we een nieuwe rol geïntroduceerd in Pakketbeheer met de naam Samenwerker. Een samenwerker kan pakketten opslaan vanuit een upstream-bron, maar kan pakketten niet rechtstreeks in de feed publiceren (bijvoorbeeld met behulp van nuget push
). Hierdoor kunt u het publiceren van pakketten beperken tot degenen die u vertrouwt of naar het buildsysteem, terwijl uw technici nieuwe pakketten uit uw upstream-bronnen kunnen gebruiken.
Instellingen voor feed wijzigen zonder handmatig op te slaan
Enkele interacties op de pagina met feedinstellingen zijn verbeterd. Nu worden wijzigingen die u aanbrengt, zoals het toevoegen van een upstream of een machtiging, onmiddellijk opgeslagen. Dit betekent dat u zich geen zorgen hoeft te maken over het verliezen van wijzigingen wanneer u schakelt tussen instellingendraaipunten.
Testen
Testplannen beheren met behulp van de nieuwe hub Test Plans
Belangrijk
Als u deze mogelijkheid wilt gebruiken, moet de preview-functie Nieuwe testplanervaring zijn ingeschakeld voor uw profiel of account.
Maak kennis met de nieuwe hub voor testplannen! U kunt niet alleen plannen toevoegen, bewerken en verwijderen van deze pagina, maar ook plannen zoeken en favoriet maken in uw team en het project. We hebben dit type ervaring in Dashboards, Query's en Plannen voorafgegaan. Dit is een andere stap om deze consistentie over het product te brengen.
Wiki
Verbroken koppelingen herstellen bij het verplaatsen van pagina's
Verbroken paginakoppelingen zijn een van de belangrijkste oorzaken van slechte paginakwaliteit in elke documentatieoplossing. Voorheen in Wiki, wanneer u een pagina in de structuurstructuur verplaatst of de naam van een pagina hebt gewijzigd, kan het koppelingen naar de pagina mogelijk verbreken van andere pagina's en werkitems. U kunt nu controleren op koppelingen en deze herstellen voordat ze worden verbroken.
Belangrijk
Vergeet niet om de []()
Markdown-syntaxis te gebruiken voor koppelingen in pagina's en het koppelingstype wikipagina in werkitems, zodat Wiki deze mogelijk verbroken koppelingen kan vinden en herstellen. URL's en hyperlinks zonder opmaak in werkitems worden niet opgehaald door deze functie.
Wanneer u de naam van een pagina wijzigt of verplaatst, wordt u gevraagd om te controleren op betrokken absolute of relatieve koppelingen.
Vervolgens ziet u een lijst met de paginakoppelingen en werkitems die worden beïnvloed voordat u actie onderneemt.
VSTS-demogenerator
Met de demogenerator kunt u projecten maken in uw VSTS-account met vooraf ingevulde voorbeeldinhoud, waaronder broncode, werkitems, iteraties, service-eindpunten, plus build- en releasedefinities op basis van een sjabloon die u kiest. Deze projecten kunnen worden gebruikt om praktijklabs, demo's en andere educatieve materialen te volgen.
De nieuwste versie biedt een eenvoudige aanmelding, geautomatiseerde installatie van extensies, nieuwe sjablonen en ondersteuning voor TFS.
Raadpleeg de documentatie voor stapsgewijze instructies voor het gebruik van de generator.
Volgende stappen en feedback
We horen graag wat u van deze functies vindt. Meld een probleem of geef een suggestie als u ideeën hebt over dingen die u ons prioriteit wilt geven via het feedbackmenu.
U kunt ook advies krijgen en uw vragen beantwoorden door de community op Stack Overflow.
Met vriendelijke groet,
Jamie Cool