App Service
Kör webbapplikationer och API:er som byggs från ditt förråd eller från en containeravbild, var och en med eget värdnamn, egen skalning och egen driftsättningshistorik.
App Service kör webbapplikationer och API:er. Du pekar en app mot en gren i ett förråd — eller mot en färdig containeravbild — och plattformen bygger avbilden, kör den, dirigerar ett värdnamn till den och registrerar varje driftsättning. I portalen på https://portal.example.com finns apparna under App Tjänst i sidomenyn.
Vad en app är
- En app ligger i en resursgrupp i en boundary och körs på ett av boundaryns kluster. Namnet är unikt i resursgruppen och kan inte ändras.
- Den kör en containeravbild som en eller flera likadana instanser, bakom ett värdnamn.
- Den serverar HTTP på en port, appens Port. En instans räknas som klar först när porten tar emot anslutningar, så en app som aldrig öppnar den blir aldrig Running.
- Den kan ha slots: kopior av appen som kör andra grenar i samma förråd, var och en med eget värdnamn — se Distributionsslots.
Var koden kommer ifrån
| Källa | Vad plattformen gör |
|---|---|
| GitHub, GitLab, Azure DevOps | Bygger avbilden från ett förråd och en gren som en distributionskälla ansluten till boundaryn når. En push till grenen bygger och driftsätter igen — se Automatiska driftsättningar. |
| Container | Kör en avbild, registry/name:tag eller registry/name@sha256:…, som klustret kan hämta utan autentiseringsuppgifter från dig: en publik avbild, eller en avbild som plattformen har byggt för en app eller funktion i samma boundary. Avbilden hämtas varje gång en instans startar, så en tagg som har pushats på nytt kommer med vid nästa omstart eller driftsättning. En app kan inte få autentiseringsuppgifter till ett eget register. |
Se upp
Den som får skapa eller ändra en app kan, i en resursgrupp där hen får det, köra vilken avbild som helst som plattformen har byggt för en app eller funktion i samma boundary — även en från en resursgrupp som hen inte kan se. En sådan avbild innehåller den appens kod, och värdena för de byggvariabler som har byggts in i den.
Hur en app byggs
För en app som byggs från ett förråd bygger plattformen avbilden inne i klustret från en mall för appens körmiljöstack. Versionen du väljer är versionen av byggets basavbilder.
| Körmiljö | Bygget | Vad containern kör |
|---|---|---|
| Node | Installerar beroendena med den pakethanterare som låsfilen anger — pnpm, Yarn, Bun eller npm (npm när det inte finns någon låsfil) — och kör skriptet build om det finns |
Skriptet start. Utan det serveras byggresultatet som en statisk webbplats med SPA-fallback: en index.html under dist/, build/, out/, .output/public/ eller _site/. Finns ingetdera misslyckas bygget. |
| Python | pip install -r requirements.txt; utan en requirements.txt misslyckas bygget |
python app.py |
| .NET | dotnet publish av startprojektet |
Den publicerade assemblyn med startprojektfilens namn (MyApp.csproj kör MyApp.dll); utan sökväg till startprojekt app.dll |
| Java | mvn package -DskipTests (Maven) |
java -jar på den enda körbara jar-filen — en jar med Main-Class — som bygget producerar |
| PHP | composer install --no-dev när det finns en composer.json |
Apache, som serverar förrådets filer |
- Bygget körs i förrådets rot, och det är där det letar efter
package.json,requirements.txt,pom.xmlochcomposer.json. Även en sökväg till ett .NET-startprojekt utgår från roten. - Om förrådet har
.stackship/pre-build.sheller.stackship/post-build.shkör bygget dem före och efter sitt byggsteg; för Python körs båda efterpip install. - Miljövariabler som du markerar som byggvariabler skickas också till bygget — se Miljövariabler och hemligheter.
- Avbilden talar om för din kod vilken port den ska lyssna på:
PORT(Node, Python och PHP),PORTochSERVER_PORT(Java) ellerASPNETCORE_HTTP_PORTS(.NET), satt till appens port.
Se upp
En PHP-app serverar varje fil i förrådet vid grenens commit, även
.git,.stackshipoch punktfiler som.env: alla som når appen kan ladda ner dem, och genom.gitäven källkoden till dess PHP-filer. Håll det som inte får vara publikt utanför en PHP-apps förråd.
Körmiljöstackar
En ny installation erbjuder Node 18, 20 och 22; Python 3.9 till 3.13; .NET 8.0 och 10.0; Java 8,
11, 17 och 21; samt PHP 8.1 till 8.4. Din plattformsadministratör kan dra tillbaka versioner.
Portalen märker en version som har passerat sitt supportslut med (EOL), och en som når det inom
ungefär sex månader med datumet för supportslutet. En app fortsätter att köra på en version som
inte längre erbjuds, och kan fortfarande redigeras på den.
Vad en app körs på
En beräkningsplan är en storlek på CPU och minne — både den garanterade mängden och taket för varje instans — plus en diskstorlek som bara används när appen har beständig lagring. En ny installation har de här planerna; portalen visar dem som din installation erbjuder:
| Plan | CPU | Minne | Disk |
|---|---|---|---|
| nano | 0,1 | 128 MiB | 500 MiB |
| small | 0,25 | 256 MiB | 1 GiB |
| medium | 0,5 | 512 MiB | 2 GiB |
| standard | 1 | 1 GiB | 3 GiB |
| large | 2 | 2 GiB | 5 GiB |
| xlarge | 4 | 4 GiB | 10 GiB |
| 2xlarge | 8 | 8 GiB | 20 GiB |
En boundary kan ha en policy som bara tillåter vissa planer. Portalen visar de övriga som inaktiverade, märkta Tillåts inte av den här gränsens policy för beräkningsplaner, och plattformen avvisar dem.
Vad varje app får
- Ett värdnamn under apps.example.com, med HTTPS, eller dina egna domäner — se Egna domäner och HTTPS.
- En managed identity, som skapas med appen och tas bort med den. Appens kod kan använda den för att anropa plattformens tjänster, och det är den som läser appens hemligheter — se Använd en managed identity i kod.
- Hemligheter från valv, i filen
/secrets/env.json— se Miljövariabler och hemligheter. - Beständig lagring om du vill: en disk monterad på
/data— se Körmiljö och beräkning. - En driftsättningshistorik och en revisionshistorik, med återställning — se Driftsättningar och revisioner.
Vad appar inte har
En app har ingen terminal och ingen vy över enskilda containrar. För att se in i en app som körs använder du dess loggar och, när den har beständig lagring, dess filer.
Sidor
- Din första app på 5 minuter — en guide: kör en exempelapp och ge den en hemlighet
- Skapa en app
- Appsidan — åtgärderna i sidhuvudet och flikarna
- Driftsätt, starta, stoppa och ta bort
- Konfiguration — körmiljö, miljövariabler, hemligheter, skalning, domäner och distributionskälla
- Distributionsslots
- Driftsättningar och revisioner
- Loggar och Filer
- Statusar, Namn och gränser och Behörigheter