AzureFunctionAppContainer@1 – Azure Functions a tároló 1-s verziós feladatához

Függvényalkalmazás frissítése Docker-tárolóval.

Függvényalkalmazások frissítése Docker-tárolókkal.

Syntax

# Azure Functions for container v1
# Update a function app with a Docker container.
- task: AzureFunctionAppContainer@1
  inputs:
    azureSubscription: # string. Required. Azure subscription. 
    appName: # string. Required. App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    imageName: # string. Required. Image name. 
    #containerCommand: # string. Startup command. 
  # Application and Configuration Settings
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings.
# Azure Function for container v1
# Update Function Apps with Docker containers.
- task: AzureFunctionAppContainer@1
  inputs:
    azureSubscription: # string. Required. Azure subscription. 
    appName: # string. Required. App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    imageName: # string. Required. Image name. 
    #containerCommand: # string. Startup command. 
  # Application and Configuration Settings
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings.

Bevitelek

azureSubscription - Azure-előfizetés
string. Kötelező.

Kiválasztja az üzembe helyezéshez tartozó Azure Resource Manager-előfizetést.


appName - Alkalmazás neve
string. Kötelező.

A tárolókhoz készült függvényalkalmazás neve.


deployToSlotOrASE - Üzembe helyezés pontban vagy App Service Environment
boolean. Alapértelmezett érték: false.

Állítsa be ezt a bemenetet true úgy, hogy egy meglévő üzembehelyezési ponton vagy Azure App Service környezetben legyen üzembe helyezve. A tevékenységnek mindkét célhoz erőforráscsoport-névre van szüksége. Az üzembehelyezési pont beállításnál az alapértelmezett üzembe helyezés az éles ponton van, vagy megadhat bármilyen más meglévő tárolóhelynevet. Ha az üzembehelyezési cél egy Azure App Service környezet, hagyja a tárolóhely nevét éles környezetben, és adja meg az erőforráscsoport nevét.


resourceGroupName - Erőforráscsoport
string. Akkor szükséges, ha deployToSlotOrASE = true.

A tárolókhoz készült függvényalkalmazást tartalmazó erőforráscsoport neve.


slotName - Slot
string. Akkor szükséges, ha deployToSlotOrASE = true. Alapértelmezett érték: production.

Beír vagy kiválaszt egy meglévő tárolóhelyet, az éles pont kivételével.


imageName - Kép neve
string. Kötelező.

Az adott beállításjegyzék vagy névtér globálisan egyedi legfelső szintű tartományneve.

Megjegyzés: A teljes képnév a következő formátumú lesz: <registry or namespace> <repository> <tag>. Például: myregistry.azurecr.io/nginx:latest.


containerCommand - Indítási parancs
string.

Az üzembe helyezés után végrehajtott indítási parancs. Például: dotnet rundotnet filename.dll.


appSettings - Alkalmazásbeállítások
string.

Adja meg az alkalmazásbeállításokat a szintaxissal -key value (például:-RequestTimeout 5000-Port 5000-WEBSITE_TIME_ZONE ). A szóközöket tartalmazó értékeket dupla idézőjelek közé foglalja (például: "Eastern Standard Time").


configurationStrings - Konfigurációs beállítások
string.

Adja meg a konfigurációs sztringeket a szintaxissal -key value (például: -phpVersion 5.6-linuxFxVersion: node|6.11). A szóközöket tartalmazó értékeket dupla idézőjelekbe foglalja.


Tevékenységvezérlési beállítások

A tevékenységbemeneteken kívül minden tevékenység rendelkezik vezérlési lehetőségekkel. További információ: Vezérlési beállítások és gyakori feladattulajdonságok.

Kimeneti változók

Ez a feladat a következő kimeneti változókat határozza meg, amelyeket az alsóbb rétegbeli lépésekben, feladatokban és szakaszokban használhat fel.

AppServiceApplicationUrl
A kijelölt App Service alkalmazás URL-címe.

Megjegyzések

Ezzel a feladattal üzembe helyezhet egy Azure-függvényt Linux rendszeren egy egyéni rendszerkép használatával.

Hiba: Nem sikerült lekérni az Azure hozzáférési jogkivonatát. Ellenőrizze, hogy a használt szolgáltatásnév érvényes-e, és nem járt-e le.

A feladat a szolgáltatáskapcsolat szolgáltatásnevét használja az Azure-ral való hitelesítéshez. Ha a szolgáltatásnév lejárt vagy nem rendelkezik engedélyekkel a App Service, a feladat ezzel a hibával meghiúsul. Ellenőrizze a használt szolgáltatásnév érvényességét, és hogy szerepel-e az alkalmazás regisztrációjában. További információért lásd: Az Azure-előfizetések erőforrásaihoz való hozzáférés kezelése szerepköralapú hozzáférés-vezérléssel. Ez a blogbejegyzés további információkat is tartalmaz a szolgáltatásnév-hitelesítés használatáról.

SSL-hiba

Ha tanúsítványt szeretne használni App Service, a tanúsítványt egy megbízható hitelesítésszolgáltatónak kell aláírnia. Ha a webalkalmazás tanúsítvány-ellenőrzési hibákat ad vissza, valószínűleg önaláírt tanúsítványt használ. A hiba megoldásához állítson be egy nevű VSTS_ARM_REST_IGNORE_SSL_ERRORS változót a buildelési vagy kiadási folyamat értékére true .

Egy kiadás hosszú ideig nem válaszon, majd meghiúsul

Ez a probléma a App Service csomag kapacitásának elégtelensége lehet. A probléma megoldásához vertikálisan felskálázhatja a App Service-példányt, hogy növelje a rendelkezésre álló processzor-, RAM- és lemezterületet, vagy próbálkozzon egy másik App Service csomaggal.

5xx hibakódok

Ha 5xx hiba jelenik meg, ellenőrizze az Azure-szolgáltatás állapotát.

Az Azure-függvény hirtelen leállt

Azure Functions hirtelen leállhat, ha az utolsó üzembe helyezés óta több mint egy év telt el. Ha a "DeploymentMethod" paraméterben a "RunFromPackage" paraméterrel végez üzembe helyezést, a rendszer létrehoz egy 1 éves lejárati dátummal rendelkező SAS-t, és az alkalmazáskonfigurációban a "WEBSITE_RUN_FROM_PACKAGE" értékként van beállítva. Azure Functions ezt az SAS-t használja a csomagfájlra való hivatkozáshoz a függvény végrehajtásához, így ha az SAS lejárt, a függvény nem lesz végrehajtva. A probléma megoldásához helyezze üzembe újra az üzembe helyezést, hogy létrehoz egy SAS-t egyéves lejárati dátummal.

Hogyan konfigurálhatom a szolgáltatáskapcsolatot?

Ehhez a feladathoz Azure Resource Manager szolgáltatáskapcsolatra van szükség.

Hogyan konfigurálhatom a webes feladatok üzembe helyezését az Application Insights használatával?

Ha egy App Service helyez üzembe, és az Application Insights konfigurálva van, és engedélyezte az szolgáltatástRemove additional files at destination, akkor azt is engedélyeznie Exclude files from the App_Data folderkell. Ennek a beállításnak az engedélyezése biztonságos állapotban tartja az Application Insights-bővítményt. Erre a lépésre azért van szükség, mert az Application Insights folyamatos WebJobs-feladat telepítve van a App_Data mappába.

Hogyan konfigurálhatom az ügynököt, ha proxy mögött van, miközben App Service üzembe helyezem?

Ha a saját üzemeltetésű ügynökhöz webproxy szükséges, a konfiguráció során tájékoztathatja az ügynököt a proxyról. Ezzel lehetővé teszi, hogy az ügynök a proxyn keresztül csatlakozzon az Azure Pipelineshoz vagy Azure DevOps Server. További információ a saját üzemeltetésű ügynök webproxy mögötti futtatásáról.

Példák

Ez a példa tárolók használatával telepíti a Azure Functions Linuxon:


variables:
  imageName: contoso.azurecr.io/azurefunctions-containers:$(build.buildId)
  azureSubscription: Contoso
  # To ignore SSL error uncomment the following variable
  # VSTS_ARM_REST_IGNORE_SSL_ERRORS: true

steps:
- task: AzureFunctionAppContainer@1
  displayName: Azure Function App on Container deploy
  inputs:
    azureSubscription: $(azureSubscription)
    appName: functionappcontainers
    imageName: $(imageName)

Követelmények

Követelmény Leírás
Folyamattípusok YAML, klasszikus build, klasszikus kiadás
Futtatás: Ügynök, DeploymentGroup
Igények None
Képességek Ez a tevékenység nem felel meg a feladat későbbi tevékenységeire vonatkozó követelményeknek.
Parancskorlátozások Bármelyik
Változók beállítása Bármelyik
Ügynök verziója 2.104.1 vagy újabb
Feladatkategória Üzembe helyezés