Om resurser för Azure Pipelines
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
En resurs är allt som används av en pipeline som finns utanför pipelinen.
Resurser erbjuder följande fördelar:
- Sätt att dela något, till exempel en säker fil eller ett lösenord i pipelines.
- Exempel på hur du använder resurser för delning är variabelgrupper, säkra filer och tjänstanslutningar. I samtliga fall använder du en resurs som ett sätt för en pipeline att komma åt och använda något.
- Ett verktyg för att förbättra säkerheten genom åtkomstkontroller och andra begränsningar.
- Du kan till exempel begränsa en tjänstanslutning till att endast köras på en pipeline. Du kan också se till att en lagringsplats endast kan nås från en pipeline efter en manuell godkännandekontroll.
- Sätt att förbättra spårningsbarheten för din pipeline och göra det enklare att felsöka miljöer.
- Du kan till exempel se antalet senaste körningen som distribuerades till en miljö.
Dela resurser mellan pipelines
Dela resurser mellan pipelines genom att konfigurera dem i pipelinegränssnittet. Referera sedan till resurserna i en aktivitet. Du kan också komma åt vissa delade resurser med resources
YAML-pipelinesyntaxen.
Exempel på delning av resurser med pipelines-användargränssnittet är säkra filer, variabelgrupper och tjänstanslutningar. Med syntaxen resources
omfattar exempel att komma åt själva pipelines, lagringsplatser och paket.
Hur en resurs används i en pipeline beror på typen av pipeline och resurstyp.
För YAML-pipelines:
- Tjänstanslutningar och säkra filer används direkt som indata till uppgifter och behöver inte vara fördefinierade.
- Variabelgrupper använder syntaxen
group
. - Pipelines och lagringsplatser använder syntaxen
resources
.
Om du till exempel vill använda variabelgrupper i en pipeline lägger du till dina variabler i Pipelines-biblioteket>. Sedan kan du referera till variabelgruppen i YAML-pipelinen med syntaxen variables
.
variables:
- group: my-variable-group
Om du vill anropa en andra pipeline från din pipeline med syntaxen resources
refererar du till pipelines
.
resources:
pipelines:
- pipeline: SmartHotel-resource # identifier for the resource (used in pipeline resource variables)
source: SmartHotel-CI # name of the pipeline that produces an artifact
Använda resurser för att förbättra säkerheten
Du kan förbättra din pipelines säkerhet med resurser genom att identifiera hur resursen förbrukas och hur du förhindrar obehörig åtkomst.
Endast för YAML-pipelines anger du resurser som skyddade eller öppna. När en resurs skyddas kan du tillämpa godkännanden och kontroller för att begränsa åtkomsten till specifika användare och YAML-pipelines. Skyddade resurser omfattar tjänstanslutningar, agentpooler, miljöer, lagringsplatser, variabelgrupper och säkra filer.
Resurs | Hur används den? | Hur förhindrar du att en oavsiktlig pipeline använder den här? |
---|---|---|
tjänstanslutningar | Används av uppgifter i en YAML-fil som använder tjänstanslutningen som indata. | Skyddas med kontroller och pipelinebehörigheter. Kontroller och pipelinebehörigheter styrs av tjänstanslutningsanvändare. En resursägare kan styra vilka pipelines som kan komma åt en tjänstanslutning. Du kan också använda pipelinebehörigheter för att begränsa åtkomsten till vissa YAML-pipelines och alla klassiska pipelines. |
hemliga variabler i variabelgrupper | Det finns en särskild syntax för användning av variabelgrupper i en pipeline eller i ett jobb. En variabelgrupp läggs till som en tjänstanslutning. | Skyddas med kontroller och pipelinebehörigheter. Kontroller och pipelinebehörigheter styrs av användare av variabelgrupper. En resursägare kan styra vilka pipelines som kan komma åt en variabelgrupp. Du kan också använda pipelinebehörigheter för att begränsa åtkomsten till vissa YAML-pipelines och alla klassiska pipelines. |
säkra filer | Säkra filer används av aktiviteter (exempel: Ladda ned uppgift för säker fil). | Skyddas med kontroller och pipelinebehörigheter. Kontroller och pipelinebehörigheter styrs av användare av säkra filer. En resursägare kan styra vilka pipelines som kan komma åt säkra filer. Du kan också använda pipelinebehörigheter för att begränsa åtkomsten till vissa YAML-pipelines och alla klassiska pipelines. |
agentpooler | Det finns en särskild syntax för att använda en agentpool för att köra ett jobb. | Skyddas med kontroller och pipelinebehörigheter. Kontroller och pipelinebehörigheter styrs av agentpoolanvändare. En resursägare kan styra vilka pipelines som kan komma åt en agentpool. Du kan också använda pipelinebehörigheter för att begränsa åtkomsten till vissa YAML-pipelines och alla klassiska pipelines. |
Miljöer | Det finns en särskild syntax för att använda en miljö i en YAML. | Skyddas med kontroller och pipelinebehörigheter som styrs av miljöanvändare. Du kan också använda pipelinebehörigheter för att begränsa åtkomsten till en viss miljö. |
Databaser | Ett skript kan klona en lagringsplats om jobbåtkomsttoken har åtkomst till lagringsplatsen. | Skyddas med kontroller och pipelinebehörigheter som styrs av lagringsplatsens deltagare. En lagringsplatsägare kan begränsa ägarskapet. |
artefakter, arbetsobjekt, pipelines | Pipelineartefakter är resurser, men det är inte Azure Artifacts . Ett skript kan ladda ned artefakter om jobbåtkomsttoken har åtkomst till feeden. En pipelineartefakt kan deklareras som en resurs i resursavsnittet – främst för avsikten att utlösa pipelinen när en ny artefakt är tillgänglig eller för att använda artefakten i pipelinen. | Artefakter och arbetsobjekt har egna behörighetskontroller. Kontroller och pipelinebehörigheter för feeds stöds inte. |
containrar, paket, webhooks | Dessa finns utanför Azure DevOps-ekosystemet och åtkomsten styrs med tjänstanslutningar. Det finns en särskild syntax för att använda alla tre typerna i YAML-pipelines. | Skyddas med kontroller och pipelinebehörigheter som styrs av tjänstanslutningsanvändare. |
Använda resurser för spårning
Miljöer stöder följande resurstyper: