Kuidas seada oma rakendusele üles staging-keskkond
Staging-keskkonna seadistamiseks juuruta rakenduse teine koopia oma eraldi privaatsele URL-ile, anna sellele oma andmebaas ja testi API-võtmed ning tee see võimalikult lähedaseks tootmise seadistusele. Seejärel avalda iga oluline muudatus esmalt stagingus, käi läbi tähtsad voog ja avalda tootmisse alles siis, kui staging näeb korrektne välja.
Kui see mõiste on sulle uus, selgitab mis on staging-keskkond põhimõtet. See juhend on praktiline seadistus neile, kes ehitavad tehisintellektiga tööriistadega, mitte ei käita DevOps-tiimi.
Arendus, staging ja tootmine
Enamikul väikestel rakendustel on vaja kolme kohta, isegi kui esimene on lihtsalt sinu ehitaja eelvaade:
| Keskkond | Kes kasutab | Andmed | Võtmed |
|---|---|---|---|
| Arendus | Sina, kui ehitad | Ajutised | Test |
| Staging | Sina ja ülevaatajad enne väljastamist | Test- või puhastatud koopia | Test |
| Tootmine | Päris kasutajad | Päris | Live |
Staging'u mõte on, et see käitub nagu tootmine — sama kood, sama stack, sama tüüpi seadistused —, kuid viga seal ei kahjusta kedagi.
1. samm: otsusta, mida staging peab vastama
Staging on kasulik ainult siis, kui probleemid ilmnevad seal enne tootmist. Vasta:
- Sama kood, väljastatud samal viisil.
- Sama stack ja versioonid — raamistik, käituskeskkond, andmebaasi tüüp.
- Sama tüüpi seadistus — samad keskkonnamuutujate nimed, testväärtustega.
- Samad teenused — kui tootmises on veebirakendus ja API, on need ka stagingus.
See võib erineda suuruse (väiksem masin on sobiv) ja andmete poolest.
2. samm: loo koopia
Lihtsaim lähenemine: sama projekti teine juurutus teises URL-is, näiteks staging.sinurakendus.com või sinurakendus-staging.example.com.
Kuidas seda teha, sõltub hostist:
- Hostid, millel on sisseehitatud eelvaate- või staging-juurutused, saavad selle Giti haru jaoks automaatselt luua.
- Hostid ilma selleta: loo sama koodi põhjal teine rakendus või projekt ja juuruta see eraldi.
- Kood Gitis: hoia
staging- võimain-haru, mis juurutab stagingusse, ning tootmisse juuruta väljalaskest. Vaata kuidas kasutada Giti tehisintellektiga ehitatud rakendusega.
3. samm: anna stagingule oma andmebaas
See samm kaitseb sind kõige rohkem. Kui staging ja tootmine jagavad andmebaasi, kustutab test, mis kustutab kirjeid, päris kirjed.
- Loo stagingule eraldi andmebaas.
- Täida see seemneandmetega — realistlike väljamõeldud kirjetega, mida tehisintellekt saab sulle genereerida.
- Kui vajad tootmisandmete koopiat, eemalda või sega enne nimed, e-posti aadressid ja kõik isiklik.
Kirjuta seemneskript, mis täidab tühja andmebaasi realistlike testandmetega: 20 klienti, 50 tellimust erinevates olekutes ja kaks administraatorikasutajat. Kasuta ilmselgelt väljamõeldud nimesid ja example.com e-posti aadresse.
Enne kui usaldad seadistust, kinnita, millise andmebaasiga iga koopia ühendub. Küsi otse:
Millise andmebaasiga see rakendus ühendub ja kust see seadistus pärineb? Näita muutuja nime, mitte parooli.
4. samm: kasuta testvõtmeid ja eraldi seadistusi
Kõik, mis suhtleb välise teenusega, peaks stagingus kasutama test-volitusi:
- Maksed testrežiimis (näiteks Stripe'i testvõtmed), nii et ühtegi päris kaarti ei debiteerita.
- E-post saadetakse liivakasti või ainult sinu enda aadressile, nii et kliendid ei saa kunagi testkirja.
- Tehisintellekti ja muud tasulised API-d eraldi võtmega ja madala kulupiiranguga.
- Veebihaagid suunatud stagingu URL-ile, mitte tootmisse.
Hoia muutujate nimed mõlemas keskkonnas samad ja muuda ainult väärtusi. Nii ei pea kood teadma, kus ta töötab. Selle kohta lisateabe leiad artiklist kuidas hoida API-võtmed turvaliselt.
5. samm: hoia staging privaatne
Staging ei tohiks olla avalik:
- Pane see sisselogimise, parooli või meeskonna e-posti lubatud loendi taha.
- Takista otsingumootoritel seda indekseerimast
noindex-metamärgendi võiX-Robots-Tag-päisega. - Ära lingi sellele oma avalikult saidilt.
- Tee see teistsuguseks — värviline "STAGING"-bänner hoiab ära testimise vales aknas.
Lisa iga lehe ülaossa ere kollane bänner tekstiga "STAGING — ainult testandmed", kui keskkonnamuutuja APP_ENV on "staging". Lisa sel juhul ka noindex-metamärgend.
6. samm: loo väljastamise rutiin
Staging aitab ainult siis, kui kasutad seda alati. Lihtne rutiin:
- Tee muudatus arenduses ja kontrolli seda eelvaates.
- Väljasta see stagingusse.
- Käi läbi oma põhivoog: registreerumine, sisselogimine, põhifunktsioon, maksed, kõik, mida muudatus puudutas.
- Kui midagi läheb katki, paranda ja väljasta uuesti stagingusse.
- Avalda sama versioon tootmisse.
- Kontrolli tootmist kiiresti — samad voog, lühidalt.
Kirjuta põhivoog lühikese testskriptina. Mida selle sisse kirjutada, vaata artiklist kuidas testida oma rakendust enne lansseerimist.
7. samm: käsitle andmebaasi muudatusi hoolikalt
Andmebaasi struktuuri muudatused — veeru lisamine, tabeli ümbernimetamine — on need, kus staging end tõestab.
- Käivita iga struktuurimuudatus esmalt stagingus.
- Kontrolli, et olemasolevad andmed on alles, mitte ainult see, et uued funktsioonid töötavad.
- Tee tootmisest varukoopia enne sama muudatuse käivitamist seal. Vaata kuidas teha rakenduse andmebaasist varukoopia.
- Eelista muudatusi, mis lisavad, mitte ümber nimeta või kustuta, et vana versioon töötaks ka tagasivõtmisel.
Näidispromptid
Selgita, mis juhtuks olemasolevate andmetega, kui käivitaksime selle andmebaasimuudatuse tootmises. Kas midagi kustutatakse või nimetatakse ümber?
Tee kõik keskkonnaspetsiifilised seadistused — API URL-id, võtmed, e-posti saatja, saidi enda URL — keskkonnamuutujatest, mille nimed on stagingus ja tootmises samad. Loetle need.
Kirjuta lühike kontrollnimekiri voogudest, mida peaksin stagingus enne iga väljastamist testima, lähtudes sellest, mida see rakendus teeb.
Levinud vead
- Jagatud andmebaas. Kõige kahjulikum viga. Stagingul on alati oma.
- Live-võtmed stagingus. Päris maksed, päris e-kirjad päris klientidele.
- Staging lahkneb tootmisest. Erinevad versioonid või seadistused tähendavad, et staging lakkab probleeme püüdmast.
- Avalik, indekseeritud staging-sait, mis ilmub otsingutulemustes su päris saidi kõrvale.
- Stagingu vahelejätmine "väikeste" muudatuste puhul. Väikesed muudatused rikuvad samuti asju.
- Testimine vales aknas. Nähtav bänner lahendab selle.
Kontrollnimekiri
- Staging käitab sama koodi, stacki ja teenuseid mis tootmine.
- Stagingul on oma andmebaas testandmete või puhastatud andmetega.
- Maksed, e-post ja tasulised API-d kasutavad stagingus testvõtmeid.
- Muutujate nimed langevad keskkondade vahel kokku; ainult väärtused erinevad.
- Staging on sisselogimise või parooli taga ega ole indekseeritud.
- Bänner näitab, et oled stagingus.
- Iga väljastamine läheb esmalt stagingusse kirjalike kontrollitavate voogude nimekirjaga.
- Andmebaasimuudatused käivitatakse esmalt stagingus, enne väljastamist on tootmisest varukoopia.
Staging Mythexis
Mythexi Publish annab sulle ühe elava URL-i rakenduse kohta; eraldi staging-lülitit ei ole. Praktikas on kaks võimalust:
- Eelvaade eelkontrollina. Iga projekt töötab privaatses pilvetöökeskkonnas elava eelvaatega.
/testlaseb agendil seda kasutajana läbi klõpsida ning Jaga-link võimaldab kliendil või tiimikaaslasel eelvaadet üle vaadata ilma avaldamata. Vaata Eelvaade ja kood. Paljude üksiprojektide jaoks piisab sellest. - Teine projekt stagingina. Pro-paketis ekspordi projekt, impordi see uude projekti, anna sellele oma andmebaas ja testi-võtmete saladused ning avalda see oma slugi all. Väljasta sinna enne tootmisprojekti avaldamist.
Mõlemal juhul küsi agendilt, millist andmebaasi eelvaade ja avaldatud rakendus kasutavad, enne kui testid midagi hävitavat, ning kasuta kontrollpunkte halva muudatuse tagasivõtmiseks. Laiemalt rakenduse elavaks viimise kohta vaata kuidas viia tehisintellekti prototüüp tootmisse.
Küsimused
Mis on lihtsaim viis staging-keskkonna seadistamiseks?
Juuruta rakenduse teine koopia oma URL-ile, anna sellele oma andmebaas ja testi API-võtmed ning harjuta avaldamist sinna enne tootmist. Alustamiseks ei vaja erilisi tööriistu; vajad eraldatust ja rutiini.
Kas staging peaks kasutama tootmisandmete koopiat?
Kasuta testandmeid, kus saad. Kui vajad realistlikke andmeid, kopeeri tootmisandmed ja eemalda või sega enne isikuandmed. Ära kunagi suuna staging-keskkonda tootmise andmebaasi.
Kuidas takistada otsingumootoreid ja võõraid oma staging-saidi leidmast?
Pane staging sisselogimise või parooli taha ning ütle otsingumootoritele noindex-märgendi või robotite päisega, et neid seda indekseerida. Ära lingi sellele oma avalikult saidilt.
Kas staging-keskkond kahekordistab mu hostingukulud?
Tavaliselt mitte. Staging saab väga vähe liiklust, seega hostis, mis viib tegevuseta rakendused nullini, maksab see murdosa tootmise kuludest. Hoia see väike ja lase testide vahel magada.