Juhendid

Mis on staging-keskkond? Testi enne avaldamist

Staging-keskkond on su rakenduse privaatne koopia, mis on seadistatud võimalikult lähedaselt live-versioonile, kus testid muudatusi enne, kui päris kasutajad neid näevad. Sel on oma andmebaas, testandmed ja testimise API-võtmed, nii et seal katkiminev funktsioon või halb andmemuudatus ei mõjuta kedagi väljaspool su meeskonda. Kui muudatus seal õige paistab, avaldad selle productionis — live-rakenduses, mida su kliendid kasutavad.

Miks staging tehisintellektiga ehitades oluline on

Tehisintellektiga ehitamine teeb muutmise kiireks. Saad lisada funktsiooni, kirjutada lehe ümber või muuta andmestruktuuri minutitega. See kiirus on suurepärane, kuni muudatus, mis näis korras, vaikselt katkestab ostuprotsessi või „väike puhastus“ kustutab veeru kliendiandmetest.

Koht, kus muudatusi enne live-minekut kontrollida, aitab sul:

  • Tabada katkestusi enne klientide märkamist. Proovi registreerumist, maksmist ja olulisi voogusid pärast iga olulist muudatust.
  • Testida päris tingimustes. Staging peaks käituma nagu production — sama tehnoloogiapakett, sarnane seadistus —, et probleemid ilmneksid seal, mitte hiljem.
  • Kaitsta päris andmeid. Andmebaasimuudatusi, importe ja massmuudatusi saab esmalt testandmetel läbi mängida.
  • Näidata töös olevat tööd. Klient või kolleeg saab muudatust üle vaadata, ilma et see oleks avalik.

Igapäevane näide

Mõtle teatri generaalprobele.

  • Arendus on proovisaal: näitlejad proovivad replikke, peatavad, alustavad uuesti, katsetavad.
  • Staging on generaalproov: täiskostüümid, päris lava, päris valgustus — kõik nii, nagu see on esietenduse õhtul, ainult publikut ei ole.
  • Production on esietendus. Vead juhtuvad kõigi silme all.

Enamik probleeme, mida esietendusel ei soovi, ilmneb generaalproovis: kostüümivahetus võtab liiga kaua, valguseviide on vale. Just selleks on staging.

Kolm levinud keskkonda

ArendusStagingProduction
EesmärkEhitamine ja katsetamineViimane kontroll enne väljalasetLive-rakendus
Kes kasutabSina või su arendajadSu meeskond, testijad, kliendidPäris kasutajad
AndmedNäidis- või võltsandmedTestandmed või puhastatud koopiaPäris kliendiandmed
API-võtmedTestvõtmedTestvõtmed (näiteks maksete testrežiim)Live-võtmed
StabiilsusLaguneb sageli, see on okeiPeaks olema stabiilnePeab olema stabiilne
VeebiaadressKohalik või privaatne eelvaadePrivaatne või parooliga kaitstud URLSinu avalik domeen

Iga keskkond erineb peamiselt oma konfiguratsiooni poolest: millise andmebaasiga see ühendub, milliseid võtmeid kasutab, millisel URL-il asub. Seetõttu loevad head rakendused need seaded keskkonnamuutujatest ja saladustest ega kodeeri neid koodi sisse. Sama kood saab siis igas keskkonnas töötada erinevate seadetega.

Töötav näide: broneerimisrakenduse tühistamisreeglite muutmine

Sul on soenguvalduse broneerimisrakendus, millel on maksvad kliendid. Tahad muuta reeglit, et kliendid saaksid tühistada kuni 24 tundi ette, mitte 48, ja tagasimakse toimub automaatselt.

1. Ehita arenduses. Palud tehisintellektiga ehitajalt muudatuse. See uuendab tühistamisloogikat ja tagasimakse väljakutset oma maksepakkuja juures.

2. Vii staging-keskkonda. Staging käivitab sama koodi, ühendatuna staging-andmebaasiga, kus on testbroneeringud ja maksepakkuja testrežiimi võtmed.

3. Testi päris voogusid. Sina ja kolleeg:

  • broneerige testaeg homseks ja tühistage see 30 tundi ette — peaks tagastama raha;
  • proovige tühistada 10 tundi ette — peaks keelduma selge sõnumiga;
  • kontrollige, et tagasimakse ilmub maksepakkuja testpaneelil;
  • kontrollige, et kinnitusmeil ütleb 24 tundi, mitte 48.

4. Leia viga. Stagingus märkad, et reegel kasutab serveri ajavööndit, mitte salongi oma, nii et piirkuupäev on tund vale. Parandad selle ja testid uuesti.

5. Vii productionisse. Alles nüüd jõuab muudatus päris klientideni — ajavööndi viga on juba tabatud.

Ilma stagingut oleks samm 4 toimunud päris kliendi tagasimaksega.

Põhimõisted

MõisteTähendus
KeskkondÜks töötav koopia su rakendusest oma seadete, andmete ja aadressiga.
Production (prod)Live-keskkond, millest päris kasutajad sõltuvad.
StagingProduction'iga sarnane koopia viimaseks testimiseks.
Arendus (dev)Koht, kus muudatusi esmalt ehitatakse ja proovitakse.
Eelvaate keskkondLühiajaline koopia rakendusest ühe muudatuse jaoks, sageli loodud automaatselt.
Deploy / väljalaseKoodi versiooni paigaldamine keskkonda.
Tagasipööramine (rollback)Tagasipöördumine eelmisele töötavale versioonile pärast halba väljalasset.
Keskkondade vastavus (parity)Kui lähedal on staging production'ile. Mida lähedamal, seda kasulikum.
Seemneandmed (seed data)Näidisandmed, mis laaditakse mitte-production andmebaasi testimiseks.

Levinud väärarusaamad

  • „Staging võib jagada production'i andmebaasi.“ See on kõige ohtlikum otsetee. Test, mis kustutab või muudab kirjeid, mõjutaks päris kliente. Anna stagingule oma andmebaas.
  • „Kui see töötab stagingus, ei saa see productionis puruneda.“ Staging vähendab riski, kuid ei kõrvalda seda. Päris liiklus, päris andmed ja välised teenused võivad ikka üllatada. Hoia tagasipöördumise võimalus alles.
  • „Staging peab olema kallis.“ See võib olla väike. Vaja on sama seadistust nagu productionil, mitte sama suurust.
  • „Kasuta stagingus live-maksevõtmeid, et olla realistlik.“ Kasuta pakkuja testrežiimi. Realistlik ei tähenda päris raha.
  • „Staging on ainult suurtele meeskondadele.“ Idee — proovi esmalt kuskil ohutus kohas — on kasulik isegi ühele inimesele. Ametlikkuse tase võib skaleeruda panustega.
  • „Staging peaks olema avalik, et inimesed saaksid seda proovida.“ Hoia see privaatne või kaitstud ja takista otsingumootoritel seda indekseerimast, et keegi ei eksiks seda päris rakendusega.

Mida paluda oma AI-ehitajalt

  • „Tee kõik keskkonnaspetsiifilised seaded — andmebaas, API-võtmed, saidi URL — keskkonnamuutujatest.“
  • „Lisa seemneskript, mis täidab mitte-production andmebaasi realistlike testandmetega.“
  • „Kasuta maksepakkuja testrežiimi, kuni ütlen, et lansseerime.“
  • „Enne selle muudatuse live-minekut loetle voogud, mida peaksin testima, ja mis igas peaks juhtuma.“
  • „Kas see muudatus mõjutab olemasolevaid andmeid? Näita kõigepealt migratsiooni.“
  • „Veendu, et mitte-production koopiaid saidist ei indekseerita otsingumootorite poolt.“

Sammhaaval seadistamise juhend on kuidas seadistada staging-keskkonda. Kui väljalasked muutuvad sagedaseks, on koodi teekonna automatiseerimine staging'usse ja productionisse see, milleks on CI/CD.

Testimine enne väljalaset Mythexis

Mythexil ei ole eraldi „staging vs production“ lülitit; avaldamine annab ühe live avaliku URL-i ning dokumentatsioon ütleb seda selgelt (mitme teenusega rakendused). Selle asemel annab Mythex selge piiri ehitamise ja live-minemise vahel:

  • Eelvaade käivitab su rakenduse privaatses pilvelivas, kui ehitad. Muudatused ilmuvad seal esmalt, mitte su live-rakenduses.
  • Jaga loob eelvaate lingid, nii et klient või kolleeg saab tööd vaadata ilma Mythexi kontota ja ilma, et sa avaldaksid. Link näitab liivakasti just sellisena, nagu see praegu on, sealhulgas pooleli ehitamise muudatused, ja saad selle igal ajal kustutada.
  • Avalda teeb projektist hetkepildi ja paigaldab selle. Kuni avaldad uuesti, jääb live-rakendus samaks, mis varem.
  • Kontrollpunktid salvestatakse pärast iga edukat agendi vooru, nii et saad projektifailid tagasi võtta, kui muudatus valesti läheb.

Kasuta eelvaadet kui proovi: hoia maksepakkujad live-minekuni testrežiimis ja käi enne iga avaldamist läbi oma põhivoogudest. Kui kaasatud on päris kliendid, küsi agendilt enne andmeid kirjutava või kustutava asja testimist, millist andmebaasi ja võtmeid su eelvaade kasutab. Kui vajad täiesti eraldi stagingu seadistust oma andmebaasiga, palu agendil selgitada oma projekti valikuid või — Pro-paketis — ekspordi projekt või sünkrooni see GitHubiga ja käivita see infrastruktuuril, mida sa ise kontrollid.

Küsimused

Mis on staging-keskkond lihtsas keeles?

Staging-keskkond on su rakenduse privaatne koopia, mis on seadistatud võimalikult lähedaselt live-versioonile, kus testid muudatusi enne, kui päris kasutajad neid näevad. Kui seal midagi puruneb, ei mõjuta see kedagi väljaspool su meeskonda.

Mis vahe on stagingul ja productionil?

Production on live-rakendus, millest sõltuvad päris kasutajad ja päris andmed. Staging on proovikoopia, mis peegeldab production'i seadistust, kuid kasutab eraldi testandmeid ja testvõtmeid, nii et saad muudatusi ohutult proovida.

Kas staging kasutab sama andmebaasi nagu production?

Ei peaks. Stagingul peaks olema oma andmebaas, mis on täidetud testandmete või puhastatud production-andmete koopiaga. Jagatud andmebaas tähendab, et test võib muuta või kustutada päris klientide kirjeid.

Kas väikesed rakendused vajavad staging-keskkonda?

Mitte alati täisväärtuslikku. Üksikprojekt saab sageli hakkama privaatse eelvaate, kontrollnimekirja ja võimalusega tagasi pöörduda. Kui kaasatud on päris kliendid, maksed või meeskond, muutub eraldi koht muudatuste testimiseks palju väärtuslikumaks.

Mythex · Pricing · Ehita kõike AI-ga · Veebilehtede ja rakenduste mallid · Mythex võrdluses · Tehisintellektiga rakenduste ehitamise sõnastik · Tasuta tööriistad tehisintellektiga rakenduste ehitamiseks · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)