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 för att få ut mesta möjliga av processen.
Om du inte känner till hur du använder frontendriet och vilka fördelar det kan ge kan du titta 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 ska 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 CM_CUSTOM_VAR_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. 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
gör det därför möjligt att växla mellan produktions- och utvecklingsmiljöer för att justera CSS och JS så att den passar båda miljöerna.