Թարմացման մոտեցման ընտրություն
Ակնարկ
Drupal 8-ին թարմացման նախապատրաստման ժամանակ արժե որոշ ժամանակ հատկացնել թարմացման մոտեցման պլանավորմանը։ Չնայած ձեր նախորդ Drupal կայքի պարունակությունը հնարավոր է առանց խնդիրների տեղափոխվի, ձեր Drupal 8 կայքի կոնֆիգուրացիան հավանաբար պահանջելու է որոշ ձեռնարկային քայլեր։ Օրինակ՝ Views մոդուլը դեռ չունի ավտոմատ թարմացում կորում, ինչը նշանակում է, որ ձեզ անհրաժեշտ կլինի ձեռքով ստեղծել views-երը ձեր Drupal 8 կայքում։ Ամենահարմար մոտեցումը պետք է քննարկվի յուրաքանչյուր կայքի համար։
Հեշտ մոտեցում՝ ձեռքով հետհաշվարկային քայլերով
Այս մոտեցմամբ թարմացումը կատարվում է մեկ անգամ, իսկ ձեռքով թարմացման փուլերը (օրինակ՝ views-ի ստեղծումը) կատարվում են Drupal 8 կայքում՝ դրա հրապարակումից առաջ։
Խորհուրդ է տրվում նախ փորձարկել թարմացումը և ուշադիր հետևել ձեռքով կատարվող քայլերին։ Եթե ձեր փորձարկման միջավայրը ձեզ կպատրաստի, կրկնեք նույն քայլերը և կազմեք արտադրական Drupal 8 միջավայր մաքուր տեղադրմամբ։
Այս մոտեցումը կիրառելի է՝
Հավելյալ թարմացում՝ ձեռքով հետհաշվարկային քայլերից հետո
Ձեռքով թարմացման փուլերի քանակից և բարդությունից կախված՝ հնարավոր է չի հաջողվի պահպանել հին կայքը անփոփոխ՝ ձեռքով թարմացման քայլերը Drupal 8-ում կատարելու ժամանակ։ Եթե հին կայքը համացանցին միացված է, և Drupal 8-ում ձեռքով թարմացման քայլեր են կատարվում, հնարավոր է, որ օգտատերերը ստեղծեն կամ թարմացնեն պարունակությունը հին կայքում։
Drupal 8-ը աջակցում է հավելյալ թարմացումներ։ Դա նշանակում է, որ միգրացիաները կրկնվում են՝ նորացված և թարմացված պարունակությունը տեղափոխելու համար։ Խորհուրդ չի տրվում փոխել հին աղբյուր կայքի կոնֆիգուրացիան սկզբնական թարմացումից և հավելյալ միգրացիայից միջև։
Այս մոտեցումը կիրառելի է՝
Պարունակության փոխանցում միայն STAGING և PROD միջավայրերում
Drupal 8-ի ամենաուժեղ նոր գաղափարներից մեկն է կատարելագործված կոնֆիգուրացիայի կառավարման համակարգը, որը թույլ է տալիս ամբողջ Drupal կոնֆիգուրացիան տեղադրել միջավայրից մեկ այլ միջավայր։ Հավանական ամենատարածված միջավայրային լանդշաֆտը ներառում է զարգացման (DEV), փորձարկման (STAGING) և արտադրական (PROD) միջավայրեր, որտեղ PROD-ը հանդիսանում է վերջնական օգտատերերի համար գործող կայք։ Drupal 8-ում բոլոր կոնֆիգուրացիաները կարող են արտահանվել YAML ֆայլերի տեսքով և ներմուծվել այլ միջավայրում։
Եթե պլանավորում եք օգտագործել առանձին DEV, STAGING և PROD միջավայրեր, հնարավոր մոտեցումից օրինակ տեսնում եք ստորև։ Կարևոր է հասկանալ, որ Drupal էկոհամակարգում առկա են հետևյալ սուբյեկտները․
- Պարունակության օբյեկտներ (օգտատերեր, նոդեր, տաքսոնոմիական տերմիններ և այլն)
- Կոնֆիգուրացիոն օբյեկտներ (պարունակության տիպեր, դաշտեր, views, բոլոր կոնֆիգուրացիոն պարամետրերը)
Վերը նշված թարմացման գործընթացը՝
1. Drupal 8 DEV միջավայրը թարմացվում է հին կայքից։
2. Հին կայքը պահվում է ակտիվ, (կարող է նոր պարունակություն ստեղծվել կամ թարմացվել), իսկ Drupal 8 DEV-ում ավարտվում է կոնֆիգուրացիայի կարգավորումը։
3. Կոնֆիգուրացիաները տեղադրվում են DEV-ից STAGING Drupal 8 միջավայր՝ օգտագործելով Drupal 8 կոնֆիգուրացիայի կառավարման համակարգը, սովորաբար օգտագործելով տարբերակների կառավարում (օրինակ՝ Git)։
4. Երբ STAGING միջավայրի կարգավորումը պատրաստ է, պարունակությունը կարող է տեղափոխվել հին կայքից STAGING միջավայր՝ վերջնական ընդունման թեստավորման համար։ Երբ ընդունման թեստերը հաջող անցնեն, Drupal 8 PROD-ը տեղադրվում է, և պարունակությունը տեղափոխվում է հին կայքից PROD Drupal 8 կայք։
Այս մոտեցումն պահանջում է Drush-ով թարմացում։ Տարբերակներ կան այս մոտեցման իրականացման համար։
- Դիտեք Drush-ով թարմացման էջը՝ միգրացիաների գեներացման մասին։
- Drupal 8 DEV թարմացումը (նկարում՝ քայլ 1) կարող եք իրականացնել՝ ամբողջ միգրացիաները կատարելով drush migrate-import --all-ով կամ առանձին անհրաժեշտ միգրացիաները drush migrate-import <migration name> հրամանով։
- Պարունակության միայն թարմացումը (նկարում՝ քայլ 4) կարող եք կատարել drush migrate-import --tag=Content հրամանով բոլոր պարունակության միգրացիաների համար կամ առանձին միգրացիաներ ընտրել drush migrate-import <migration name> միջոցով։ Կարող եք նաև ցանկապատել ցանկալի միգրացիաները manifest ֆայլում։
Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.