Distribuera koden deploy-your-code
Lär dig hur du distribuerar koden till Production med Cloud Manager-pipelines AEM as a Cloud Service.
Distribuera kod sömlöst till scenen och sedan till produktionen via en produktionsprocess. Körningen av produktionspipeline är uppdelad i två logiska faser.
- Distribution till scenmiljö
- Koden byggs och distribueras till scenmiljön för automatisk funktionstestning, UI-testning, upplevelsegranskning och UAT (User accept testing).
- Distribution till produktionsmiljö
- När bygget har validerats på scenen och godkänts för att befordras till produktion distribueras samma bygge-artefakt till produktionsmiljön.
Det är bara pipeline-typen Full Stack Code som har stöd för kodskanning, funktionstestning, gränssnittstestning och upplevelsegranskning.
Distribuera din kod med Cloud Manager på AEM as a Cloud Service deploying-code-with-cloud-manager
När du har har konfigurerat produktionsförloppet som databas-, miljö- och testmiljö är du redo att driftsätta koden.
-
Logga in i Cloud Manager på my.cloudmanager.adobe.com och välja lämplig organisation.
-
På Mina program konsol, tryck eller klicka på det program som du vill distribuera kod för.
-
Klicka Distribuera från uppmaning till åtgärd på Ökning för att starta distributionsprocessen.
-
The Körning av pipeline visas. Klicka Bygge för att starta processen.
Byggprocessen distribuerar koden i tre faser.
Scendistributionsfas stage-deployment
The Scendistribution fas. omfattar de här stegen.
- Validering - Detta steg säkerställer att pipeline är konfigurerad att använda de tillgängliga resurserna. Du kan till exempel testa att den konfigurerade grenen finns och att miljöerna är tillgängliga.
- Build & Unit Testing - Det här steget kör en innesluten byggprocess.
- Se Information om byggmiljö för mer information om byggmiljön.
- Kodskanning - I det här steget utvärderas kvaliteten på programkoden.
- Se Testning av kodkvalitet om du vill ha mer information om testprocessen.
- Skapa bilder - Den här processen gör att du kan omvandla innehåll och dispatcherpaket som skapats av byggsteget till Docker-bilder och Kubernetes-konfigurationer.
- Distribuera till scenen - Bilden distribueras till testmiljön som förberedelse för Scenens testfas.
Scentestfas stage-testing
The Stage testing dessa steg.
-
Funktionstestning av produkten - Molnhanterarens pipeline kör tester som körs mot scenmiljön.
- Se Funktionstestning av produkten för mer information.
-
Anpassad funktionstestning - Det här steget i pipeline körs alltid och kan inte hoppas över. Om inget test-JAR produceras av bygget godkänns testet som standard.
- Se Anpassad funktionstestning för mer information.
-
Anpassade gränssnittstestningar - Det här steget är en valfri funktion som automatiskt kör gränssnittstester som skapats för anpassade program.
- Användargränssnittstester är självstudiebaserade tester som paketeras i en Docker-bild för att möjliggöra ett brett val av språk och ramverk (t.ex. Java och Maven, Node och WebDriver.io eller andra ramverk och tekniker som bygger på Selenium).
- Se Anpassade gränssnittstestningar för mer information.
-
Experience Audit - Det här steget i pipeline körs alltid och kan inte hoppas över. När en produktionsprocess körs inkluderas ett steg för upplevelsegranskning efter anpassad funktionstestning som kör kontrollerna.
- De konfigurerade sidorna skickas till tjänsten och utvärderas.
- Resultaten är informativa och visar poängen och förändringen mellan aktuella och tidigare poäng.
- Den här insikten är värdefull för att avgöra om det finns en regression som introduceras i den aktuella distributionen.
- Se Upplevelsegranskningsresultat för mer information.
Produktionsdistributionsfas deployment-production
Processen för att distribuera till produktionstopologier skiljer sig något för att minimera påverkan för besökare på en AEM.
Produktionsinstallationer följer i allmänhet samma steg som tidigare, men på ett rullande sätt.
- Distribuera AEM som ska författas.
- Koppla loss dispatcher1 från belastningsutjämnaren.
- Distribuera AEM paket till publish1 och dispatcherpaketet till dispatcher1, flush dispatcher cache.
- Placera dispatcher1 i belastningsutjämnaren igen.
- När dispatcher1 är tillbaka i tjänst frigör du dispatcher2 från belastningsutjämnaren.
- Distribuera AEM paket till publish2 och dispatcherpaketet till dispatcher2, flush dispatcher cache.
- Placera dispatcher2 i belastningsutjämnaren igen.
Den här processen fortsätter tills distributionen har nått alla utgivare och utgivare i topologin.
Timeout timeouts
Följande steg gör timeout om du väntar på användarfeedback:
Distributionsprocess deployment-process
Alla driftsättningar av Cloud Service följer en rullande process för att säkerställa noll driftavbrott. Se Hur rullande distributioner fungerar om du vill veta mer.
Köra om en produktionsdistribution reexecute-deployment
I sällsynta fall kan produktionsdistributionsstegen misslyckas av tillfälliga orsaker. I sådana fall stöds omkörning av produktionsdistributionssteget så länge produktionsdistributionssteget har slutförts, oavsett typ av slutförande (t.ex. avbruten eller misslyckad). Omkörning skapar en ny körning med samma pipeline som består av tre steg.
- Valideringssteget - Detta är i stort sett samma validering som sker under en normal pipeline-körning.
- Byggsteget - I samband med en omkörning kopieras artefakter och ingen ny byggprocess utförs.
- Produktionsdistributionssteget - Detta använder samma konfiguration och alternativ som produktionsdistributionssteget i en normal pipeline-körning.
I sådana fall där ett återgenomförande är möjligt visas statussidan för produktionsflödet på sidan med Kör igen alternativ bredvid det vanliga Hämta bygglogg alternativ.
Begränsningar limitations
- Det går bara att köra produktionsdistributionssteget på nytt för den senaste körningen.
- Omkörning är inte tillgängligt för push-uppdateringskörningar.
- Om den senaste körningen är en push-uppdateringskörning går det inte att utföra om.
- Om den senaste körningen misslyckades någon gång före produktionsdistributionssteget går det inte att utföra om.
Kör API igen reexecute-API
Förutom att vara tillgänglig i användargränssnittet kan du använda Cloud Manager API för att utlösa omkörningar och identifiera körningar som utlöstes som omkörningar.
Utlösa en omkörning reexecute-deployment-api
Gör en PUT-begäran till HAL Link om du vill utlösa en omkörning https://ns.adobe.com/adobecloud/rel/pipeline/reExecute
i produktionsdistributionssteget.
- Om den här länken finns kan körningen startas om från det steget.
- Om den inte finns kan inte körningen startas om från det steget.
Den här länken är bara tillgänglig för produktionsdistributionssteget.
{
"_links": {
"https://ns.adobe.com/adobecloud/rel/pipeline/logs": {
"href": "/api/program/4/pipeline/1/execution/953671/phase/1575676/step/2983530/logs",
"templated": false
},
"https://ns.adobe.com/adobecloud/rel/pipeline/reExecute": {
"href": "/api/program/4/pipeline/1/execution?stepId=2983530",
"templated": false
},
"https://ns.adobe.com/adobecloud/rel/pipeline/metrics": {
"href": "/api/program/4/pipeline/1/execution/953671/phase/1575676/step/2983530/metrics",
"templated": false
},
"self": {
"href": "/api/program/4/pipeline/1/execution/953671/phase/1575676/step/2983530",
"templated": false
}
},
"id": "6187842",
"stepId": "2983530",
"phaseId": "1575676",
"action": "deploy",
"environment": "weretail-global-b75-prod",
"environmentType": "prod",
"environmentId": "59254",
"startedAt": "2022-01-20T14:47:41.247+0000",
"finishedAt": "2022-01-20T15:06:19.885+0000",
"updatedAt": "2022-01-20T15:06:20.803+0000",
"details": {
},
"status": "FINISHED"
Syntaxen för HAL-länkens href-värde är bara ett exempel. Det faktiska värdet ska alltid läsas från HAL-länken och inte genereras.
Om du skickar en PUT-begäran till den här slutpunkten får du ett svar från 2010 om det lyckas, och svarstexten är representationen av den nya körningen. Det liknar att starta en vanlig körning via API:t.
Identifiera en körning som utförts på nytt identify-reexecution
Körda körningar kan identifieras av värdet RE_EXECUTE
i trigger
fält.