Výkon a náklady instance spravovaných DevOps Pools můžete spravovat konfigurací nastavení škálování. Informace o cenách a výkonu najdete v tématu Správa nákladů a výkonu.
Stav agenta
Fondy můžete nakonfigurovat takto:
-
Bezstavové: Zajistěte pro každou úlohu nový agent.
-
Stavové: Umožňuje sdílení agentů mezi více úlohami.
Výchozí nastavení poolu je bezstavové, čehož můžete dosáhnout nastavením Fresh agenta pokaždé. V některých případech mohou týmy chtít znovu použít agenty a tím i balíčky nebo soubory vytvořené během předchozího běhu pipeline. Úloha sestavení je běžný scénář, kdy týmy chtějí zachovat stav a opakovaně používat agenty. Stavové fondy můžete dosáhnout prostřednictvím spravovaných fondů DevOps a současně je vyrovnáte s osvědčenými postupy zabezpečení. Ve výchozím nastavení je možné agenta opakovaně používat maximálně sedm dní, ale můžete ho nakonfigurovat tak, aby se recykloval dříve.
Poznámka:
Agenti zabezpečení doporučují, aby uživatelé používali bezstavové fondy jako ochranu před útoky na dodavatelský řetězec. Pokaždé použijte nastavení stavu agenta Fresh.
Bezstavové fondy
Při konfiguraci bezstavového agenta se pro každou úlohu zajišťuje nový agent. Po dokončení úlohy se agent zahodí.
Další informace o životním cyklu bezstavových agentů a jejich používání ve službě Azure Pipelines najdete v části Životní cyklus agentů a potenciální zpoždění v části přidělování .
Agenty můžete nakonfigurovat pomocí agentProfile vlastnosti v prostředku Spravované fondy DevOps. Následující příklad určuje agenta Stateless .
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2025-09-20",
"location": "eastus",
"properties": {
...
"agentProfile": {
"kind": "Stateless"
}
}
}
]
}
Agenty můžete nakonfigurovat pomocí parametru agent-profile při vytváření nebo aktualizaci fondu.
Následující příklad určuje agenta Stateless bez pohotovostních agentů.
az mdp pool create \
--agent-profile agent-profile.json
# other parameters omitted for space
Následující příklad ukazuje obsah souboru agent-profile.json .
{
"Stateless": {}
}
Agenty můžete nakonfigurovat pomocí agentProfile vlastnosti v prostředku Spravované fondy DevOps. Následující příklad určuje agenta Stateless .
resource managedDevOpsPools 'Microsoft.DevOpsInfrastructure/pools@2025-09-20' = {
name: 'fabrikam-managed-pool'
location: 'eastus'
properties: {
...
agentProfile: {
kind: 'Stateless'
}
}
}
Když nastavíte stav agentana Fresh agent pokaždé, pro každou úlohu se zařídí nový agent. Agent se po dokončení úlohy odstraní.
Stavové fondy
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2025-09-20",
"location": "eastus",
"properties": {
...
"agentProfile": {
"maxAgentLifetime": "7.00:00:00",
"gracePeriodTimeSpan": "00:30:00",
"kind": "Stateful"
}
}
}
]
}
Agenty můžete nakonfigurovat pomocí parametru agent-profile při vytváření nebo aktualizaci fondu.
Následující příklad určuje agenta Stateful se sedmidenní maximální životností a třicetiminutovým obdobím odkladu.
az mdp pool create \
--agent-profile agent-profile.json
# other parameters omitted for space
Následující příklad ukazuje obsah agent-profile.json souboru.
{
"Stateful":
{
"maxAgentLifetime": "7.00:00:00",
"gracePeriodTimeSpan": "00:30:00"
}
}
resource managedDevOpsPools 'Microsoft.DevOpsInfrastructure/pools@2025-09-20' = {
name: 'fabrikam-managed-pool'
location: 'eastus'
properties: {
...
agentProfile: {
kind: 'Stateful'
maxAgentLifetime: '7.00:00:00'
gracePeriodTimeSpan:'00:30:00'
}
}
}
Když povolíte stejného agenta, může ho používat více sestavení ( "kind": "stateful" nastavení v šablonách prostředků nebo { "stateful": {...} } nastavení v Azure CLI), jsou agenti ve fondu stavové. Stavové fondy můžete nakonfigurovat pomocí následujících nastavení:
Maximální doba provozu pro pohotovostní agenty (maxAgentLifetime) konfiguruje maximální dobu trvání agenta ve stavovém fondu, než se vypne a zahodí. Formát maximálního času naživo pro pohotovostní agenty je dd.hh:mm:ss. Výchozí hodnota Max time to Live pro pohotovostní agenty je nastavena na maximální povolenou dobu trvání sedm dnů (7.00:00:00).
Odkladová doba (gracePeriodTimeSpan) určuje dobu, kterou agent ve stavovém fondu vyčkává na nové úlohy, než se po dokončení všech aktuálních úloh a úloh ve frontě vypne. Formát období odkladu je dd.hh:mm:ss a výchozí období odkladu není.
Důležité
Pokud je úloha spuštěná, když vyprší maximální doba živosti pro pohotovostní agenty, agent se nevypne, dokud se úloha nedokončí, není-li úloha již spuštěna déle než dva dny. Jednotlivé úlohy ve spravovaných fondech DevOps se můžou spouštět maximálně dva dny, i když jsou spuštěné v pohotovostním agentovi s více než dvěma dny nakonfigurovanými pro maximální dobu provozu pro pohotovostní agenty. Pokud pracovní postup vyžaduje, abyste spustili jednu úlohu, která trvá déle než dva dny, kontaktujte podporu.
Agenti v bezstavových poolech se po každé úloze vypnou a zahodí. Pokud jsou splněny některé z následujících podmínek, agenti ve stavových fondech budou nadále spuštěni:
- Pokud se po dokončení první úlohy zařadí jiná úloha do fronty, spravované fondy DevOps odešlou úlohu zařazenou do fronty agentovi, který spustil první úlohu, místo aby ji vypnul.
- Pokud je pro fond nakonfigurované období odkladu, agenti před vypnutím čekají na nové úlohy po dobu trvání určenou obdobím odkladu.
- Pokud jsou povoleni pohotovostní agenti a image agenta splňuje kritéria aktivního období zřizování, agent bude dál spouštět a čekat na úlohy.
Agenti, kteří běží ve stavových skupinách, jsou vypnuti a zahozeni, pokud běží nepřetržitě po dobu trvání určenou maximální dobou provozu pro agenty v pohotovostním režimu, i když jsou splněny předchozí podmínky. Pokud je například pro pohotovostní agenty nakonfigurovaný maximální doba provozu po dobu tří dnů a režim pohotovostního agenta je nastavený na ručně, režim celého týdne (počítače dostupné 24/7) se agenti restartují po třech nepřetržitých dnech provozu.
Důležité
Agenty ve stavových skupinách lze po dokončení úlohy vypnout a odstranit, pokud neexistuje žádná doba odkladu, žádné aktivní období zřizování pro pohotovostní agenty ani žádné úlohy ve frontě určené pro agenta. Při zahození agenta dojde ke ztrátě stavu.
Období odkladu umožňují nákladově nejefektivnější způsob spouštění stavových fondů pro kanály s konzistentním zatížením. Období odkladu nevyžadují použití pohotovostního režimu agenta, aby agenti zůstali online a připravení přijímat úlohy.
Pohotovostní režim agenta
Při vytváření fondu je režim pohotovostního agenta ve výchozím nastavení vypnutý. Když je režim pohotovostního agenta vypnutý, nejsou k dispozici žádní pohotovostní agenti, které by bylo možné okamžitě přiřadit k pipeline. Vaše kanály mohou muset čekat od několika sekund do 15 minut, než bude zřízen agent na požádání. Pokud chcete dosáhnout lepšího výkonu, povolte režim pohotovostního agenta a nakonfigurujte plán pohotovostního agenta, který poskytuje kapacitu pro vaši úlohu.
Když konfigurujete plán pohotovostního agenta, spravované fondy DevOps pravidelně porovnávají počet zřízených agentů s počtem pohotovostních agentů, které zadáte v aktuálním schématu zřizování. Spustí nové agenty podle potřeby pro zachování počtu pohotovostních agentů. Pomocí podokna Agenti můžete zobrazit aktuální stav a počet agentů ve vašem fondu.
Důležité
Počet zřizování ve schématu nemůže být větší než maximální počet agentů, kterou nakonfigurujete v nastavení fondu.
Režim pohotovostního agenta můžete nakonfigurovat pomocí následujících nastavení:
-
Vypnuto: Režim pohotovostního agenta je vypnutý a agenti jsou zřizováni na vyžádání, když jsou úlohy zařazeny do fronty.
-
Ruční: Nakonfigurujte plán ručně pohotovostního režimu.
-
Automaticky: Použijte automatický pohotovostní plán založený na historii využití agenta. Můžete ho nakonfigurovat pro náklady a výkon.
Pohotovostní agenty můžete nakonfigurovat pomocí resourcePredictionsProfile části agentProfile vlastnosti. Nastavte "kind": "Manual" na schéma zahájení od začátku, schéma dne v týdnu nebo schéma celého týdne a zadejte podrobnosti schématu v části resourcePredictions. Chcete-li konfigurovat automatické pohotovostní agenty, nastavte "kind": "Automatic". Zakažte záložní agenty vynecháním části ResourcePredictionsProfile. Podrobnosti o konfiguraci jednotlivých typů škálování najdete v následujících částech.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2025-09-20",
"location": "eastus",
"properties": {
...
"agentProfile": {
"kind": "Stateless",
"resourcePredictionsProfile": {
"kind": "Manual"
},
"resourcePredictions": {...}
}
}
}
]
}
Agenty můžete nakonfigurovat pomocí parametru agent-profile při vytváření nebo aktualizaci fondu.
Pohotovostní agenty můžete nakonfigurovat pomocí resourcePredictionsProfile části parametru agent-profile .
"Manual": {} Pomocí tohoto nastavení můžete nakonfigurovat zahájení od nuly, šablonu pro všední dny nebo pro celý týden a zadat podrobnosti šablony v této části resourcePredictions. Pokud chcete nakonfigurovat automatické pohotovostní agenty, použijte "Automatic": {} nastavení. Podrobnosti o konfiguraci jednotlivých typů škálování najdete v následujících částech.
az mdp pool create \
--agent-profile agent-profile.json
# other parameters omitted for space
Následující příklad ukazuje obsah agent-profile.json souboru:
{
"Stateless": {},
"resourcePredictionsProfile": {
"Manual": {}
},
"resourcePredictions": {...}
}
Pohotovostní agenty můžete nakonfigurovat pomocí resourcePredictionsProfile části agentProfile vlastnosti.
"kind": "Manual" Pomocí tohoto nastavení můžete nakonfigurovat nové zahájení, schéma dne v týdnu nebo schéma celého týdne a zadat podrobnosti schématu v části resourcePredictions. Pokud chcete nakonfigurovat automatické pohotovostní agenty, použijte kind: 'Automatic' nastavení. Zakažte pohotovostní agenti vynecháním části ResourcePredictionsProfile. Podrobnosti o konfiguraci jednotlivých typů škálování najdete v následujících částech.
resource managedDevOpsPools 'Microsoft.DevOpsInfrastructure/pools@2025-09-20' = {
name: 'fabrikam-managed-pool'
location: 'eastus'
properties: {
...
agentProfile: {
kind: 'Stateless'
resourcePredictionsProfile: {
kind: 'Manual'
}
resourcePredictions: {...}
}
}
}
Ruční
Ruční režim je nejvhodnější pro týmy, které znají vzory využití kanálů kontinuální integrace a průběžného doručování (CI/CD). Při použití ruční možnosti je potřeba definovat schéma předběžného zřizování. Schéma definujete na základě vašeho porozumění tomu, jaké agenty ve fondu se budou pravděpodobně používat a kolik agentů se bude pravděpodobně používat. Zadáte počet agentů pro zajištění, kteří splňují projektovanou poptávku.
Můžete vytvořit vlastní plán nasazení nebo si vybrat některý z předdefinovaných. Časové pásmo můžete nakonfigurovat tak, aby používalo k určení plánů. Výchozí hodnota pro časové pásmo předběžného zřizování je (UTC) Koordinovaný univerzální čas.
Ruční pohotovostní agenty můžete nakonfigurovat jedním z následujících tří způsobů:
Každý úvodní průvodce předběžného nastavení má následující společná nastavení (kromě nastavení specifických pro tohoto úvodního průvodce):
-
Časové pásmo předpřipravení: Umožňuje nakonfigurovat časové pásmo pro časové úseky ve schématu předpřipravení. Výchozí hodnota pro časové pásmo předběžného zřizování je (UTC) Koordinovaný univerzální čas.
-
Procento pohotovostního agenta: Nakonfiguruje procento pohotovostních agentů, které chcete použít pro každou image. Můžete zadat
* , abyste zajistili, že jsou všechny image zřízeny stejně, nebo můžete zadat celé číslo od 0 do 100, které představuje procento. Pokud zadáte procento, musí se součet pro všechny obrázky rovnat 100. Pokud máte jeden obrázek, zadejte * nebo 100. Pokud používáte šablony Azure Resource Manageru (šablony ARM), můžete v části nakonfigurovat nastavení procenta agenta pohotovostníhoimages režimu. Další informace najdete v tématu Konfigurace imagí.
Ruční zřizování agenta v pohotovostním režimu můžete zadat v části resourcePredictionsProfileagentProfile. Můžete nakonfigurovat podrobnosti v resourcePredictions.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2025-09-20",
"location": "eastus",
"properties": {
...
"agentProfile": {
"kind": "Stateless",
"resourcePredictionsProfile": {
"kind": "Manual"
},
"resourcePredictions": {
"timeZone": "Eastern Standard Time",
"daysData": [
{},
{
"00:00:00": 1,
"04:00:00": 0
},
{},
{},
{},
{},
{}
]
}
}
}
}
]
}
Pomocí vlastnosti timeZone nastavte požadované časové pásmo vašeho schématu. Výchozí hodnota je UTC. Chcete-li načíst seznam názvů časových pásem pro tuto vlastnost, viz TimeZoneInfo.GetSystemTimeZones – metoda.
Pomocí seznamu můžete definovat plán pro pohotovostní agenty daysData . Seznam daysData může obsahovat jednu nebo sedm položek.
Seznam daysData se sedmi položkami se mapuje na dny v týdnu počínaje neděli. Každá z těchto sedmi položek může obsahovat nula nebo více "time": count záznamů, přičemž se zadává čas ve formátu 24 hodin a počet pohotovostních agentů. Zadaný počet pohotovostních agentů se udržuje až do další "time": count položky, která může být ve stejný den nebo následující den.
daysData Seznam s jednou položkou definuje schéma celého týdne, kde jedna "time": count položka odpovídá počtu pohotovostních agentů po celý týden.
Následující příklad je schéma ručního pohotovostního agenta. Používá hodnotu Eastern Standard Time s jedním agentem zřízeným od pondělí do pátku od 9:00 (počet pohotovostních agentů 1) do 17:00 (počet pohotovostních agentů 0).
{
"kind": "Stateless",
"resourcePredictions": {
"timeZone": "Eastern Standard Time",
"daysData": [
{},
{
"09:00:00": 1,
"17:00:00": 0
},
{
"09:00:00": 1,
"17:00:00": 0
},
{
"09:00:00": 1,
"17:00:00": 0
},
{
"09:00:00": 1,
"17:00:00": 0
},
{
"09:00:00": 1,
"17:00:00": 0
},
{}
]
},
"resourcePredictionsProfile": {
"kind": "Manual"
}
}
Jedna daysData položka obsahuje slovník časů a počet pohotovostních agentů. Každá "time" : count položka uvádí počet pohotovostních agentů, které se mají naplánovat od zadaného času, ve 24hodinovém formátu. Po sobě jdoucí "time" : count položky určují posloupnost počtu naplánovaných agentů pro daný den.
"daysData": [
{}, # Schedule of standby agent count adjustments for Sunday
{ # Schedule of standby agent count adjustments for Monday
"09:00:00": 1, # Adjust standby agent count to 1
"17:00:00": 0 # Adjust standby agent count to 0
},
{ # Schedule of standby agent count adjustments for Tuesday
"09:00:00": 1,
"17:00:00": 0
},
{ # Schedule of standby agent count adjustments for Wednesday
"09:00:00": 1,
"17:00:00": 0
},
{ # Schedule of standby agent count adjustments for Thursday
"09:00:00": 1,
"17:00:00": 0
},
{ # Schedule of standby agent count adjustments for Friday
"09:00:00": 1,
"17:00:00": 0
},
{} # Schedule of standby agent count adjustments for Saturday
]
Počet pohotovostních agentů se automaticky nenuluje zpět na nulu na konci dne nebo na konci týdne. Zadání prázdné daysData položky pro tento den nezpůsobí deaktivaci pohotovostních agentů. Prázdná daysData položka znamená, že pro tento den nedošlo k žádným změnám plánu počtu pohotovostních agentů. Chcete-li nastavit pohotovostního agenta na nulu počínaje konkrétním časovým obdobím, musíte explicitně zadat "time" : count položku s count hodnotou 0.
Příklady
Pokud nechcete provádět žádné úpravy počtu pohotovostních agentů zadaných na závěr předchozího dne (nebo týdne, pokud konfigurujete první období týdne), zadejte daysData položku s nulovými položkami:
{}
Pokud chcete naplánovat jednoho pohotovostního agenta tak, aby se spustil v 09:00:00 a zastavil v 17:00:00 (s použitím časového pásma specifikovaného vlastností resourcePredictions), zadejte následující konfiguraci:
{
"09:00:00": 1,
"17:00:00": 0
}
Pokud chcete naplánovat jednoho pohotovostního agenta od půlnoci až do 09:00:00, následovaného 10 pohotovostními agenty až do 17:00:00, zadejte následující konfiguraci:
{
"00:00:00": 1,
"09:00:00": 10,
"17:00:00": 0
}
Chcete-li naplánovat, aby byl pohotovostní agent dostupný od 09:00:00 zadaného dne a zastavil se následující 17:00:00 den, použijte dvě po sobě jdoucí daysData položky:
{
"09:00:00": 1
},
{
"17:00:00": 0
}
Agenty můžete nakonfigurovat pomocí parametru agent-profile při vytváření nebo aktualizaci fondu.
az mdp pool create \
--agent-profile agent-profile.json
# other parameters omitted for space
Následující příklad ukazuje obsah souboru agent-profile.json . Můžete zadat ruční zřizování standby agenta v části resourcePredictionsProfile parametru agent-profile. Nakonfigurujte podrobnosti v resourcePredictions části:
{
"Stateless": {},
"resourcePredictionsProfile": {
"Manual": {}
},
"resourcePredictions": {
"timeZone": "Eastern Standard Time",
"daysData": [
{},
{
"00:00:00": 1,
"04:00:00": 0
},
{},
{},
{},
{},
{}
]
}
}
Zadejte časové pásmo pro své schéma pomocí vlastnosti timeZone. Výchozí hodnota je UTC. Chcete-li načíst seznam názvů časových pásem pro tuto vlastnost, viz TimeZoneInfo.GetSystemTimeZones – metoda.
Seznam daysData definuje plán pro pohotovostní agenty. Seznam daysData může obsahovat jednu nebo sedm položek.
Seznam daysData se sedmi položkami se mapuje na dny v týdnu počínaje neděli. Každá z těchto sedmi položek může obsahovat nula nebo více "time": count záznamů, přičemž se zadává čas ve formátu 24 hodin a počet pohotovostních agentů. Zadaný počet pohotovostních agentů se udržuje až do další "time": count položky, která může být ve stejný den nebo následující den.
daysData Seznam s jednou položkou definuje schéma celého týdne, kde jedna "time": count položka odpovídá počtu pohotovostních agentů po celý týden.
Následující příklad je schéma ručního pohotovostního agenta. Schéma používá hodnotu Eastern Standard Time s jedním agentem zřízeným od pondělí do pátku od 9:00 do 17:00 (počet 1 pohotovostních agentů) až do 17:00 (počet 0 pohotovostních agentů):
{
"Stateless": {},
"resourcePredictionsProfile": {
"Manual": {}
},
"resourcePredictions": {
"timeZone": "Eastern Standard Time",
"daysData": [
{},
{
"09:00:00": 1,
"17:00:00": 0
},
{
"09:00:00": 1,
"17:00:00": 0
},
{
"09:00:00": 1,
"17:00:00": 0
},
{
"09:00:00": 1,
"17:00:00": 0
},
{
"09:00:00": 1,
"17:00:00": 0
},
{}
]
}
}
Jedna daysData položka obsahuje slovník časů a počet pohotovostních agentů. Každá "time" : count položka uvádí počet pohotovostních agentů, které se mají naplánovat od zadaného času, ve 24hodinovém formátu. Po sobě jdoucí "time" : count položky určují posloupnost počtu naplánovaných agentů pro daný den.
"daysData": [
{}, # Schedule of standby agent count adjustments for Sunday
{ # Schedule of standby agent count adjustments for Monday
"09:00:00": 1, # Adjust standby agent count to 1
"17:00:00": 0 # Adjust standby agent count to 0
},
{ # Schedule of standby agent count adjustments for Tuesday
"09:00:00": 1,
"17:00:00": 0
},
{ # Schedule of standby agent count adjustments for Wednesday
"09:00:00": 1,
"17:00:00": 0
},
{ # Schedule of standby agent count adjustments for Thursday
"09:00:00": 1,
"17:00:00": 0
},
{ # Schedule of standby agent count adjustments for Friday
"09:00:00": 1,
"17:00:00": 0
},
{} # Schedule of standby agent count adjustments for Saturday
]
Počet pohotovostních agentů se automaticky nenuluje zpět na nulu na konci dne nebo na konci týdne. Zadání prázdné daysData položky pro tento den nezakáže záložní agenty. Prázdná daysData položka znamená, že pro tento den nedošlo k žádným změnám plánu počtu pohotovostních agentů. Chcete-li nastavit pohotovostního agenta na nulu počínaje konkrétním časovým obdobím, musíte explicitně zadat "time" : count položku s count hodnotou 0.
Příklady
Pokud nechcete upravit zadaný počet pohotovostních agentů na závěr předchozího dne (nebo týdne, pokud konfigurujete první období týdne), zadejte daysData položku s nulovými položkami:
{}
Pokud chcete naplánovat spuštění 09:00:00 a zastavení 17:00:00 jednoho pohotovostního agenta (pomocí časového pásma, které zadáte ve resourcePredictions vlastnosti), zadejte následující konfiguraci:
{
"09:00:00": 1,
"17:00:00": 0
}
Pokud chcete naplánovat jednoho pohotovostního agenta od půlnoci do 09:00:00 a poté 10 pohotovostních agentů do 17:00:00, zadejte následující konfiguraci:
{
"00:00:00": 1,
"09:00:00": 10,
"17:00:00": 0
}
K naplánování pohotovostního agenta, který bude dostupný od 09:00:00 konkrétního dne a ukončil činnost následujícího 17:00:00 dne, použijte dvě po sobě jdoucí daysData položky:
{
"09:00:00": 1
},
{
"17:00:00": 0
}
Ruční zřizování agenta v pohotovostním režimu můžete zadat v části resourcePredictionsProfileagentProfile. Podrobnosti v resourcePredictions části můžete nakonfigurovat:
resource managedDevOpsPools 'Microsoft.DevOpsInfrastructure/pools@2025-09-20' = {
name: 'fabrikam-managed-pool'
location: 'eastus'
properties: {
...
agentProfile: {
kind: 'Stateless'
resourcePredictionsProfile: {
kind: 'Manual'
}
resourcePredictions: {
timeZone: 'Eastern Standard Time'
daysData: [
{}
{
'00:00:00': 1
'04:00:00': 0
}
{}
{}
{}
{}
{}
]
}
}
}
}
Pomocí vlastnosti timeZone nastavte požadované časové pásmo vašeho schématu. Výchozí hodnota je UTC. Chcete-li načíst seznam názvů časových pásem pro tuto vlastnost, viz TimeZoneInfo.GetSystemTimeZones – metoda.
Seznam daysData definuje plán pro pohotovostní agenty. Seznam daysData může obsahovat jednu nebo sedm položek.
Seznam daysData se sedmi položkami se mapuje na dny v týdnu počínaje neděli. Každá z těchto sedmi položek může obsahovat nula nebo více 'time': count záznamů, přičemž se zadává čas ve formátu 24 hodin a počet pohotovostních agentů. Zadaný počet pohotovostních agentů se udržuje až do další 'time': count položky, která může být ve stejný den nebo následující den.
daysData Seznam s jednou položkou definuje schéma celého týdne, kde jedna 'time': count položka odpovídá počtu pohotovostních agentů po celý týden.
Následující příklad představuje schéma ručního nasazení pohotovostního agenta, které využívá hodnotu Eastern Standard Time, s jedním agentem určeným od pondělí do pátku, od 9:00 (počet pohotovostních agentů 1) do 17:00 (počet pohotovostních agentů 0):
{
kind: 'Stateless'
resourcePredictions: {
timeZone: 'Eastern Standard Time'
daysData: [
{}
{
'09:00:00': 1
'17:00:00': 0
}
{
'09:00:00': 1
'17:00:00': 0
}
{
'09:00:00': 1
'17:00:00': 0
}
{
'09:00:00': 1
'17:00:00': 0
}
{
'09:00:00': 1
'17:00:00': 0
}
{}
]
}
resourcePredictionsProfile: {
kind: 'Manual'
}
}
Jedna daysData položka obsahuje slovník časů a počet pohotovostních agentů. Každá 'time' : count položka uvádí počet pohotovostních agentů, které se mají naplánovat od zadaného času, ve 24hodinovém formátu. Po sobě jdoucí 'time' : count položky určují posloupnost počtu naplánovaných agentů pro daný den.
daysData: [
{} // Schedule of standby agent count adjustments for Sunday
{ // Schedule of standby agent count adjustments for Monday
'09:00:00': 1 // Adjust standby agent count to 1
'17:00:00': 0 // Adjust standby agent count to 0
}
{ // Schedule of standby agent count adjustments for Tuesday
'09:00:00': 1
'17:00:00': 0
}
{ // Schedule of standby agent count adjustments for Wednesday
'09:00:00': 1
'17:00:00': 0
}
{ // Schedule of standby agent count adjustments for Thursday
'09:00:00': 1
'17:00:00': 0
}
{ // Schedule of standby agent count adjustments for Friday
'09:00:00': 1
'17:00:00': 0
}
{} // Schedule of standby agent count adjustments for Saturday
]
Počet pohotovostních agentů se na konci dne ani na konci týdne automaticky nevynuluje na nulu a zadání prázdné daysData položky pro daný den nezakáže pohotovostní agenty. Prázdná daysData položka znamená, že pro tento den nedošlo k žádným změnám plánu počtu pohotovostních agentů. Chcete-li nastavit pohotovostního agenta na nulu počínaje konkrétním časovým obdobím, musíte explicitně zadat "time" : count položku s count hodnotou 0.
Příklady
Pokud nechcete provádět žádné úpravy počtu pohotovostních agentů zadaných na závěr předchozího dne (nebo týdne, pokud konfigurujete první období týdne), zadejte daysData položku s nulovými položkami:
{}
Pokud chcete naplánovat spuštění jediného pohotovostního agenta na začátku 09:00:00 a jeho zastavení na konci 17:00:00 (přičemž se použije časové pásmo zadané ve vlastnosti resourcePredictions), zadejte následující konfiguraci:
{
'09:00:00': 1
'17:00:00': 0
}
Pokud chcete naplánovat jednoho pohotovostního agenta od půlnoci do 09:00:00, po kterém následuje 10 pohotovostních agentů až do 17:00:00, zadejte následující konfiguraci:
{
'00:00:00': 1
'09:00:00': 10
'17:00:00': 0
}
Chcete-li naplánovat, aby byl pohotovostní agent dostupný od 09:00:00 na zadaný den a ukončil dostupnost následující den 17:00:00, použijte dvě po sobě jdoucí položky daysData.
{
'09:00:00': 1
}
{
'17:00:00': 0
}
Začátek od nuly
Pokud se rozhodnete začít úplně od začátku, můžete jako schéma zřizování přidat seznam období zřizování. Každé zřizovací období se skládá z počátečního dne, koncového dne, časového pásma, času zahájení, času ukončení a počtu. Období zřizování se nemůžou vzájemně překrývat.
| Vlastnost |
Popis |
|
Vícedenní |
Když vyberete tuto možnost, můžete nakonfigurovat den počáteční i den koncový pro schéma zřizování. |
|
Do dalšího období |
Když vyberete tuto možnost, období zřizování probíhá od hodnoty Počáteční čas až do začátku dalšího období zřizování. |
|
Počáteční den |
Den, kdy začíná období zřizování. |
|
Koncový den |
Den, kdy končí období provisioningu. Vyžaduje se, pokud je zvolena možnost vícedenní. |
|
Počáteční čas |
Čas, kdy začíná období poskytování. |
|
Čas ukončení |
Čas ukončení období zřizování Je požadováno, pokud není vybráno "Do příštího období". |
|
Počet |
Počet pohotovostních agentů, kteří se mají zřídit. Toto číslo musí být větší než nula a nesmí překročit hodnotu Maximální agenti v Nastavení fondu. |
Po vytvoření období zřizování můžete období odstranit nebo upravit ze seznamu schémat předběžného zřizování.
Následující příklad ukazuje, jak nakonfigurovat ruční schéma s jedním agentem zřízeným v pondělí ráno od 12:00 do 5:00 EST.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2025-09-20",
"location": "eastus",
"properties": {
...
"agentProfile": {
"kind": "Stateless",
"resourcePredictionsProfile": {
"kind": "Manual"
},
"resourcePredictions": {
"timeZone": "Eastern Standard Time",
"daysData": [
{},
{
"00:00:00": 1,
"04:00:00": 0
},
{},
{},
{},
{},
{}
]
}
}
}
}
]
}
{
"Stateless": {},
"resourcePredictionsProfile": {
"Manual": {}
},
"resourcePredictions": {
"timeZone": "Eastern Standard Time",
"daysData": [
{},
{
"00:00:00": 1,
"04:00:00": 0
},
{},
{},
{},
{},
{}
]
}
}
resource managedDevOpsPools 'Microsoft.DevOpsInfrastructure/pools@2025-09-20' = {
name: 'fabrikam-managed-pool'
location: 'eastus'
properties: {
...
agentProfile: {
kind: 'Stateless'
resourcePredictionsProfile: {
kind: 'Manual'
}
resourcePredictions: {
timeZone: 'Eastern Standard Time'
daysData: [
{}
{
'00:00:00': 1
'04:00:00': 0
}
{}
{}
{}
{}
{}
]
}
}
}
}
Schéma dne v týdnu
Pokud vyberete schéma dne v týdnu, můžete zadat počáteční a koncový čas, mezi kterými je zadaný počet pohotovostních agentů v pohotovostním režimu každý pracovní den.
| Vlastnost |
Popis |
|
Počáteční čas |
Čas, kdy začíná období poskytování. |
|
Čas ukončení |
Čas ukončení období zřizování |
|
Počet provisioningů |
Počet pohotovostních agentů, kteří se mají zřídit. Toto číslo musí být větší než nula a nesmí být větší než Maximální počet agentů nakonfigurovaná v nastavení poolu. |
Následující příklad konfiguruje čtyři agenty pro použití během pracovní doby a žádné agenty mimo pracovní dobu a o víkendech, s využitím východního standardního času (UTC-5).
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2025-09-20",
"location": "eastus",
"properties": {
...
"agentProfile": {
"kind": "Stateless",
"resourcePredictionsProfile": {
"kind": "Manual"
},
"resourcePredictions": {
"timeZone": "Eastern Standard Time",
"daysData": [
{},
{
"09:00:00": 4,
"17:00:00": 0
},
{
"09:00:00": 4,
"17:00:00": 0
},
{
"09:00:00": 4,
"17:00:00": 0
},
{
"09:00:00": 4,
"17:00:00": 0
},
{
"09:00:00": 4,
"17:00:00": 0
},
{}
]
}
}
}
}
]
}
{
"Stateless": {},
"resourcePredictionsProfile": {
"Manual": {}
},
"resourcePredictions": {
"timeZone": "Eastern Standard Time",
"daysData": [
{},
{
"09:00:00": 4,
"17:00:00": 0
},
{
"09:00:00": 4,
"17:00:00": 0
},
{
"09:00:00": 4,
"17:00:00": 0
},
{
"09:00:00": 4,
"17:00:00": 0
},
{
"09:00:00": 4,
"17:00:00": 0
},
{}
]
}
}
resource managedDevOpsPools 'Microsoft.DevOpsInfrastructure/pools@2025-09-20' = {
name: 'fabrikam-managed-pool'
location: 'eastus'
properties: {
...
agentProfile: {
kind: 'Stateless'
resourcePredictionsProfile: {
kind: 'Manual'
}
resourcePredictions: {
timeZone: 'Eastern Standard Time'
daysData: [
{}
{
'09:00:00': 4
'17:00:00': 0
}
{
'09:00:00': 4
'17:00:00': 0
}
{
'09:00:00': 4
'17:00:00': 0
}
{
'09:00:00': 4
'17:00:00': 0
}
{
'09:00:00': 4
'17:00:00': 0
}
{}
]
}
}
}
}
Schéma celého týdne
Pokud zvolíte schéma celého týdne, můžete zadat počet agentů, které chcete mít po celou dobu k dispozici.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2025-09-20",
"location": "eastus",
"properties": {
...
"agentProfile": {
"kind": "Stateless",
"resourcePredictionsProfile": {
"kind": "Manual"
},
"resourcePredictions": {
"timeZone": "Eastern Standard Time",
"daysData": [
{
"00:00:00": 1
}
]
}
}
}
}
]
}
{
"Stateless": {},
"resourcePredictionsProfile": {
"Manual": {}
},
"resourcePredictions": {
"timeZone": "Eastern Standard Time",
"daysData": [
{
"00:00:00": 1
}
]
}
}
resource managedDevOpsPools 'Microsoft.DevOpsInfrastructure/pools@2025-09-20' = {
name: 'fabrikam-managed-pool'
location: 'eastus'
properties: {
...
agentProfile: {
kind: 'Stateless'
resourcePredictionsProfile: {
kind: 'Manual'
}
resourcePredictions: {
timeZone: 'Eastern Standard Time'
daysData: [
{
'00:00:00': 1
}
]
}
}
}
}
Automatic (Automaticky)
Pokud neznáte vzory využití a chcete se spolehnout na automatické prognózování na základě minulých dat, vyberte Možnost Automaticky. Mezi náklady a výkonem agenta můžete vyrovnávat pomocí posuvníku s následujícími pěti možnostmi. Spravované fondy DevOps provádějí dotaz na základě historických dat z uplynulých tří týdnů (pokud jsou k dispozici). Organizuje relace ve frontě v rámci poolu do pětiminutových období a přiřazuje zadaný percentil ke každé hodině, aby nedocházelo ke špičkám.
-
Nákladově nejefektivnější (
MostCostEffective): desátý percentil.
-
Nákladově efektivnější (
MoreCostEffective): 25. percentil.
-
Vyvážená (výchozí) (
Balanced): 50. percentil.
-
Vyšší výkon (
MorePerformance): percentil 75.
-
Nejlepší výkon (
BestPerformance): 90. percentil.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2025-09-20",
"location": "eastus",
"properties": {
...
"agentProfile": {
"kind": "Stateless",
"resourcePredictionsProfile": {
"predictionPreference": "Balanced",
"kind": "Automatic"
}
}
}
}
]
}
{
"Stateless": {},
"resourcePredictionsProfile": {
"Automatic": {
"predictionPreference": "Balanced"
}
}
}
resource managedDevOpsPools 'Microsoft.DevOpsInfrastructure/pools@2025-09-20' = {
name: 'fabrikam-managed-pool'
location: 'eastus'
properties: {
...
agentProfile: {
kind: 'Stateless'
resourcePredictionsProfile: {
kind: 'Automatic'
predictionPreference: 'Balanced'
}
}
}
}
Životní cyklus agentů a potenciální zpoždění přidělení
Když povolíte pohotovostní agenty pomocí bezstavového schématu, musíte před přechodem z připraveného stavu do přiděleného stavu nainstalovat a nakonfigurovat agenta Azure Pipelines a spustit kanál.
Když spravované DevOps fondy zřídí nové agenty, pokusí se stáhnout nejnovějšího agenta služby Azure Pipelines, aby již byli staženi na pohotovostní agenty, než přejdou do stavu připravenosti. Spuštění, připojení a zahájení úlohy může trvat 10 sekund až minutu v závislosti na rychlosti SKU fondu, použitých obrazech a zatížení sítě. Pokud navíc v pipeline úloze zadáte určitá nastavení, může to vést k opětovnému stažení a spuštění jiného agenta. Regrese a vrácení zpět agenta mohou také způsobit znovustažení agenta.
Připravení agenti mají vždy potenciální zpoždění, protože spravované fondy DevOps používají tohoto agenta efemérním způsobem, což znamená, že zapojujeme a spouštíme agenta úloh jednou na úlohu. Pokud zaznamenáte zpoždění v tom, jak připravení agenti vyzvedávají úlohy z Azure DevOps, zvažte následující otázky:
- Máte připravené agenty? Nejběžnějším problémem je nedorozumění, kdy by agenti měli být předem zřízeni. Pokud jsou splněny následující podmínky, musí být počítače spuštěny od začátku:
- Počet úloh zařazených do fronty je větší než počet pohotovostních agentů ve fondu.
- Úlohy se zařadí do fronty mimo plán předběžného zřizování.
- Počet pohotovostních agentů je nastavený na prázdný.
- Správně konfigurujete pohotovostní agenty, kteří mají více imagí? Pokud neurčíte pomocí příkazu ImageOverride, který obrázek má být použit ve vašem kanálu, úlohy budou cílit na první obrázek. V závislosti na nastavení škálování možná nebudete mít k dispozici tolik agentů, kolik očekáváte, protože některé jsou přidělené jiným imagím.
- Používáte ve svých datových tocích poptávku
ImageVersionOverride? Když použijete poptávku ImageVersionOverride k určení jiné verze image, než je nakonfigurovaná v nastavení fondu, spustí se každý agent na vyžádání pomocí zadané verze image. Pohotovostní agenti jsou zřízeni pomocí verzí imagí zadaných v konfiguraci fondu. Pokud použijete ImageVersionOverride, žádní záložní agenti nebudou odpovídat této verzi a spustí se nový agent.
- Zpomalují nastavení proxy serveru, virtuální sítě nebo brány firewall vašemu fondu? Potenciální zpomalení kvůli nastavení sítě může způsobit, že spuštění agenta a jeho připojení k Azure DevOps bude trvat déle.
- Přepisujete agentovu verzi? Spravované DevOps fondy ve výchozím nastavení používají nejnovější verzi agenta úloh Azure DevOps. Nastavení v kanálu YAML (například
Agent.Version poptávka) a nastavení organizace Azure DevOps můžou vynutit, aby kanály používaly starší verze agenta úloh, které vyžadují opětovné stažení po přidělení počítače.
Související obsah