Een neutrale status posten in GitHub bij validatie-uitvoeringen met een regel voor paduitsluiting
Met deze update hebben we meerdere updates voor Azure Pipelines opgenomen. Voor YAML-pijplijnen stellen we toegang tot alle pijplijnen weigeren in als de standaardinstelling voor beveiligde resources. Bovendien wordt in Azure Pipelines een neutrale status teruggezet naar GitHub wanneer wordt besloten geen validatiebuild uit te voeren vanwege een paduitsluitingsregel.
Bekijk de volgende functiebeschrijvingen voor meer informatie.
Notitie
Op 28 september 2021 is Azure DevOps door Axosoft op de hoogte gesteld van een beveiligingsprobleem in een afhankelijkheid van hun populaire Git GUI-client: GitKraken. Bekijk het blogbericht voor meer informatie.
Azure Pipelines
- Een neutrale status posten naar GitHub wanneer een build wordt overgeslagen
- Toegang tot alle pijplijnen is standaard uitgeschakeld in beveiligde resources
- Taak injecteren vóór of na opgegeven doeltaken met behulp van een decorator
- Aankondiging van een afschaffingsschema voor door Windows 2016 gehoste installatiekopieën
- Aankondiging van afschaffing van door macOS 10.14 gehoste installatiekopieën
Azure Pipelines
Een neutrale status posten naar GitHub wanneer een build wordt overgeslagen
Met Azure Pipelines kunt u een pull-aanvraag altijd valideren in GitHub. U kunt ook opgeven welke paden in uw GitHub-opslagplaats een pijplijn moeten activeren. De volgende pijplijn wordt bijvoorbeeld geactiveerd wanneer een wijziging in de main
vertakking wordt gepushtcode
, maar niet wanneer een wijziging naar de docs
map wordt gepusht.
trigger: none
pr:
branches:
include:
- main
paths:
include:
- code
exclude:
- docs
pool:
vmImage: ubuntu-latest
steps:
- script: echo Hello, world!
displayName: 'Run a one-line script'
Zodra de pijplijn is voltooid, wordt in Azure Pipelines een status teruggezet naar GitHub. Als u beveiligingsbeleid voor vertakkingen had voor uw GitHub-opslagplaats, bepaalt de status die door Azure Pipelines is gepost of de pull-aanvraag wordt samengevoegd.
Als u in het bovenstaande voorbeeld een wijziging hebt aangebracht in docs
, blokkeert GitHub momenteel de pull-aanvraag in afwachting van het retourneren van een status door Azure Pipelines. Azure Pipelines voert echter geen validatiebuild uit, omdat dat pad is uitgesloten van de trigger, waardoor het onmogelijk is om de pull-aanvraag te voltooien. Klanten die paduitsluitingstriggers of meerdere pijplijnen voor één GitHub-opslagplaats instellen, kregen vaak te maken met deze uitdaging.
In de toekomst wordt in Azure Pipelines een neutral
status teruggezet naar GitHub wanneer wordt besloten geen validatiebuild uit te voeren vanwege een regel voor paduitsluiting. Dit biedt een duidelijke richting naar GitHub, waarmee wordt aangegeven dat Azure Pipelines de verwerking heeft voltooid.
Gespreksweergave:
Controleer de details:
Toegang tot alle pijplijnen is standaard uitgeschakeld in beveiligde resources
Een YAML-pijplijn kan afhankelijk zijn van een of meer beveiligde resources. Serviceverbindingen, agentgroepen, variabelegroepen, beveiligde bestanden en opslagplaatsen zijn allemaal voorbeelden van beveiligde resources, omdat een beheerder van een dergelijke resource kan bepalen welke pijplijnen toegang hebben tot die resource. Beheerders gebruiken het deelvenster beveiligingsinstellingen van de resource om pijplijnen in of uit te schakelen.
Wanneer u een van deze resources maakt, verleent de standaardervaring toegang tot alle pijplijnen, tenzij u deze expliciet uitschakelt. Om de algehele beveiligingspostuur te verbeteren, wordt de standaardinstelling ingesteld op het weigeren van toegang tot alle pijplijnen. Als u toegang wilt verlenen tot alle pijplijnen, schakelt u de wisselknop in de aanmaakervaring in of nadat de resource is gemaakt.
Taak injecteren vóór of na opgegeven doeltaken met behulp van een decorator
Decorators zijn een manier om taken automatisch in een pijplijn te injecteren. Ze worden vaak gebruikt door centrale teams in een organisatie om automatisch vereiste nalevingsprocedures uit te voeren. Decorators kunnen worden gebruikt met klassieke builds, klassieke releases of YAML-pijplijnen.
Op dit moment kan een taak worden geïnjecteerd via een decorator aan het begin van elke taak, aan het einde van elke taak of direct na een uitchecktaak. Als u dit wilt regelen, geeft u een target
op in de sectie Bijdrage van de extensie van de decorator, zoals hier wordt beschreven. De lijst met doelen wordt nu uitgebreid met het volgende:
ms.azure-pipelines-agent-job.pre-task-tasks
ms.azure-pipelines-agent-job.post-task-tasks
ms.azure-release-pipelines-agent-job.pre-task-tasks
ms.azure-release-pipelines-agent-job.post-task-tasks
Hier volgt een voorbeeld van een decorator die een taak vóór elk exemplaar van een PublishPipelineArtifacts
taak in een pijplijn injecteert.
{
"manifestVersion": 1,
"contributions": [
{
"id": "my-required-task",
"type": "ms.azure-pipelines.pipeline-decorator",
"targets": [
"ms.azure-pipelines-agent-job.pre-task-tasks"
],
"properties": {
"template": "my-decorator.yml",
"targettask": "ECDC45F6-832D-4AD9-B52B-EE49E94659BE"
}
}
],
"files": [
{
"path": "my-decorator.yml",
"addressable": true,
"contentType": "text/plain"
}
]
}
Aankondiging van een afschaffingsschema voor door Windows 2016 gehoste installatiekopieën
Onlangs hebben we Windows 2022 beschikbaar gemaakt als gehoste installatiekopie. Met het aanstaande einde van de basisondersteuning voor Windows 2016 in januari 2022, worden installatiekopieën vanaf 15 november afgeschaft vs2017-win2016
. De volledige buitengebruikstelling van deze installatiekopieën is gepland voor maart 2022. Omdat dit een veelgebruikte installatiekopieën is, willen we u voldoende tijd en kennisgeving geven om de benodigde wijzigingen in uw pijplijnen aan te brengen.
Raadpleeg ons blogbericht waarin wordt beschreven hoe u alle projecten en pijplijnen kunt vinden met behulp van een door Windows 2016 gehoste installatiekopie en de stappen die u kunt nemen om te migreren naar nieuwere versies.
Aankondiging van afschaffing van door macOS 10.14 gehoste installatiekopieën
Onlangs hebben we macOS-11 beschikbaar gemaakt als gehoste installatiekopie. Als gevolg hiervan wordt macOS-10.14-installatiekopieën in december 2021 afgeschaft. Builds die afhankelijk zijn van deze installatiekopieën, mislukken zodra deze is afgeschaft. Meer informatie over het afschaffen van verschillende afbeeldingen vindt u in onze blogpost.
Volgende stappen
Notitie
Deze functies worden in de komende twee tot drie weken uitgerold.
Ga naar Azure DevOps en neem een kijkje.
Feedback geven
We horen graag wat u vindt van deze functies. Gebruik het menu Help om een probleem te melden of een suggestie te doen.
U kunt ook advies krijgen en uw vragen worden beantwoord door de community op Stack Overflow.
Met vriendelijke groet,
Vijay Machiraju