Ominaisuusliput ja asteittaiset julkaisut
Erottakaa käyttöönotto julkaisusta ominaisuuslippujen avulla, tuokaa uusi toiminnallisuus vähitellen käyttäjille ja poistakaa se heti käytöstä, jos jokin menee pieleen.
Ominaisuusliput ja asteittaiset julkaisut on ilmainen DevOps-bootcamp-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu DevOps-bootcamp-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. DevOps-bootcamp-kurssilla on yhteensä 4 oppituntia.
Käyttöönotto ja julkaisu
Edistyneen toimituksen tärkeä ajatus on, että koodin käyttöönotto ja ominaisuuden julkaisu eivät ole sama asia.
Feature flagit mahdollistavat koodin toimittamisen tuotantoon niin, että ominaisuus pysyy poissa käytöstä, kunnes päätät ottaa sen käyttöön joillekin tai kaikille käyttäjille.
Mikä feature flag on
Feature flag eli ominaisuuskytkin on koodissa oleva ehto, joka tarkistaa määritysarvon ja päättää, suoritetaanko tietty koodipolku.
if (flags.isEnabled('new-checkout')) {
renderNewCheckout();
} else {
renderOldCheckout();
}Miksi flagit ovat parempia kuin haarat
Pitkäikäiset feature-haarat aiheuttavat hankalia yhdistämisiä. Flagien avulla voit yhdistää pieniä muutoksia jatkuvasti main-haaraan samalla, kun ominaisuus pysyy piilotettuna.
- Pienemmät ja turvallisemmat pull requestit
- Trunk-pohjainen kehitys
- Välitön käyttöönotto ja käytöstä poistaminen ilman uutta käyttöönottoa
Flagien tyypit
Flagit palvelevat eri tarkoituksia:
- Release-flagit — piilottavat keskeneräisen työn
- Ops-flagit — riskialttiiden järjestelmien hätäkytkimet
- Experiment-flagit — A/B-testit
- Permission-flagit — antavat premium-käyttäjille käyttöoikeuden
Tyypin tunteminen auttaa päättämään flagin käyttöiästä.
Kohdistussäännöt
Flag-alustojen avulla voit kohdistaa ominaisuuden näkijät käyttäjätunnuksen, ryhmän, alueen tai prosenttiosuuden perusteella.
Tämä mahdollistaa asteittaisen käyttöönoton, jota ohjataan määrityksillä uuden infrastruktuurin käyttöönoton sijaan.
Prosentuaaliset käyttöönotot
Yleinen toimintamalli on ottaa flag ensin käyttöön pienelle osalle käyttäjistä ja kasvattaa osuutta sitten: 1 %, 10 %, 50 % ja lopuksi 100 %.
Toisin kuin canary-mallissa, jossa liikenne jaetaan infrastruktuuritasolla, tässä kyse on koodimäärityksillä hallittavasta loogisesta käyttöönotosta.
// Pseudo targeting config
flag: new-checkout
rollout:
percentage: 10
attribute: userIdHätäkytkimet
Suurin operatiivinen hyöty on se, että jos flagilla ohjattu ominaisuus toimii virheellisesti, voit kytkeä sen heti pois käytöstä ilman palauttavaa käyttöönottoa.
Tämä lyhentää keskimääräistä palautumisaikaa huomattavasti verrattuna koodin palauttamiseen ja uudelleen käyttöönottoon.
Flagit pipelinessä
Voit integroida flagien muutokset CI/CD:hen. Esimerkiksi workflow-vaihe voi ottaa flagin käyttöön onnistuneen käyttöönoton jälkeen tai ajastaa asteittaisen käyttöönoton.
- name: Enable feature
run: |
curl -X PATCH https://flags.example.com/api/flags/new-checkout \
-H "Authorization: Bearer ${{ secrets.FLAG_TOKEN }}" \
-d '{"enabled": true}'Oletuksena pois käytöstä ja turvallisesti
Suunnittele flagit aina turvallisesti vikaantuviksi: jos flag-palveluun ei saada yhteyttä, koodin tulee palautua ennalta tunnettuun toimivaan oletusarvoon, joka on yleensä pois käytöstä.
Feature flagista ei saa koskaan tulla yksittäistä vikapistettä.
const enabled = flags.isEnabled('new-checkout', { default: false });Flagien siivoaminen
Flagit luovat haarautuvia koodipolkuja. Vanhentuneista flageista tulee teknistä velkaa, ja ne hämmentävät lukijoita.
Kun release flag on otettu kokonaan käyttöön ja toiminta on vakaata, poista flag ja vanha koodipolku. Seuraa flagien käyttöikiä suunnitelmallisesti.
Flagit ja käyttöönottomallit
Feature flagit täydentävät blue/green- ja canary-käyttöönottoja. Infrastruktuurimallit siirtävät liikennettä; flagit siirtävät toiminnallisuutta.
Yhdessä ne tarjoavat mahdollisimman turvallisen julkaisun: ota koodi käyttöön huomaamattomasti, paljasta ominaisuus sitten asteittain ja kytke se tarvittaessa heti pois käytöstä.
Pikatesti
Testaa, miten hyvin ymmärrät feature flagit.
Kertaus
Opit erottamaan käyttöönoton julkaisusta feature flagien avulla.
- Flagit piilottavat koodin määritysohjatun ehdon taakse
- Kohdistus mahdollistaa asteittaiset prosentuaaliset käyttöönotot
- Hätäkytkimet mahdollistavat välittömän palautumisen ilman uutta käyttöönottoa
- Suunnittele flagit turvallisesti vikaantuviksi ja siivoa ne teknisen velan välttämiseksi
Blue/green- ja canary-mallien kanssa flagit täydentävät edistyneen toimituksen työkalupakkisi.
Opi DevOps-bootcamp tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 142
- Oppitunnit
- 568
Usein kysytyt kysymykset
Onko oppitunti ”Ominaisuusliput ja asteittaiset julkaisut” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa DevOps-bootcamp-oppimispolun 3 oppituntia, myös oppitunnin “Ominaisuusliput ja asteittaiset julkaisut”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. DevOps-bootcamp-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Ominaisuusliput ja asteittaiset julkaisut”?
Erottakaa käyttöönotto julkaisusta ominaisuuslippujen avulla, tuokaa uusi toiminnallisuus vähitellen käyttäjille ja poistakaa se heti käytöstä, jos jokin menee pieleen. Harjoittelet DevOps-bootcamp-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni DevOps-bootcamp-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin DevOps-bootcamp-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.
Kuinka kauan ”Ominaisuusliput ja asteittaiset julkaisut”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä DevOps-bootcamp-oppitunnilla?
Kyllä. Jokainen DevOps-bootcamp-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Blue/Green-käyttöönotot
- Canary-julkaisut Actionsilla
- Palautukset ja palautuminen katastrofeista
- Ominaisuusliput ja asteittaiset julkaisut