Med den främre rörledningen fler oberoende ges till gränssnittsutvecklare och utvecklingsprocessen kan gå mycket snabbare. I det här dokumentet beskrivs hur den här processen fungerar tillsammans med vissa överväganden som du bör vara medveten om så att du kan utnyttja hela potentialen i den här processen.
Om du inte känner till hur du använder frontendspipelinen och vilka fördelar den kan ge kan du ta en titt på Skapa snabbt webbplatser som ett exempel på hur du snabbt distribuerar en ny webbplats och anpassar dess tema helt oberoende av serverutvecklingen.
Liknar byggmiljö i full hög, den främre rörledningen har en egen miljö. Utvecklarna har viss flexibilitet i den här pipeline så länge som följande frontavtal gäller.
För frontendpipeline krävs att front-end-Node.js-projektet använder build
skriptdirektiv för att generera det bygge som distribueras av frontendpipeline. I.e.e. Cloud Manager använder kommandot npm run build
för att generera ett driftsättningsbart projekt till dist
mapp.
Innehållet i dist
är den mapp som distribueras till AEM as a Cloud Service från molnhanterarens pipeline.
Som standard används nod 14 i den främre pipelinen, men 12 och 16 är också tillgängliga.
Du kan använda NODE_VERSION
systemvariabel för att ange önskad version.
Ett allmänt bra tillvägagångssätt är att behålla en enda sanningskälla för det som används för AEM. Cloud Managers mål är att göra den enda källan till sanning uppenbar. Eftersom frontdelsrörledningen tillåter avkoppling av platsen för delar av koden ligger dock ett visst extra ansvar i den korrekta konfigurationen av frontdelsrörledningarna. Man måste vara försiktig så att man inte skapar flera rörledningar som kan användas på samma plats i samma miljö.
Av denna anledning, och särskilt när flera rörledningar för framände skapas, rekommenderas att en systematisk namnkonvention upprätthålls, som följande:
name
egenskapen för package.json
filen, ska innehålla namnet på den plats den gäller för. Till exempel för en plats som finns på /content/wknd
, namnet på frontmodulen skulle vara ungefär som wknd-theme
.wknd-theme
, skulle namnet på den omslutande mappen vara något som wknd-theme-sources
.wknd-theme
kan rörledningen heta något som wknd-theme-prod
.En sådan konvention bör effektivt förhindra följande misstag i samband med driftsättningen:
En annan bra metod som gäller för varje separation av frågor är att lägga särskild vikt vid hur det kontrakt som avskiljer bekymren utformas och hanteras. När det gäller front end-rörledningen är det kontrakt som skiljer koden från resten HTML och JSON som renderas av anläggningen. Om HTML och JSON förblir stabila ger frontlinjen maximalt värde genom att göra front-end-teamet helt oberoende.
Det finns för närvarande ingen specifik funktion för att köra helstackspipeline synkront med frontendspipeline(en). Därför måste man vid frikopplingen av frontdelsutvecklingen från rörledningen i full hög lägga in extra omsorg i kontraktet som avgränsar dessa två problemområden. Kontraktet är i allmänhet det HTML och/eller JSON som Experience Manager återger. Förändringar av detta avtal måste därför vara välplanerade mellan de grupper som driver de olika rörledningarna så att de är överens om hur de ska sekvensera motsvarande ändringar.
Följande steg rekommenderas i allmänhet när det är nödvändigt att ändra HTML och/eller JSON-utdata som påverkar båda problemområdena.
dev
så att de ändringar som gjorts för utvecklingsmiljön sedan enkelt kan sammanfogas i main
filial som ska distribueras till produktionsmiljön.dev
gren, enligt beskrivningen i föregående punkt.npx aem-site-theme-builder proxy
-kommandot som körs i front end-modulen startar en proxyserver som begär innehållet från en AEM-miljö och ersätter CSS- och JS-filerna för front end-modulen med de som finns i den lokala dist
mapp.AEM_URL
variabeln i det dolda .env
kan styra från vilken AEM som den lokala proxyservern använder innehållet.AEM_URL
så att du kan växla mellan produktions- och utvecklingsmiljöerna för att justera CSS och JS så att de passar båda miljöerna.