Flagsmith – Feature Flag and Remote Config service

Flagsmith - Feature Flag and Remote Config service

בתור מפתח, תמיד חיפשתי דרך קלה ויעילה לנהל פיצ'רים בגרסאות השונות. עד היום, על כל פיצ'ר שרציתי להפעיל / לבטל הייתי צריך להוצי גרסה. עם Flagsmith החיים פשוטים הרבה יותר. Flagsmith מאפשרת בצורה קלה ונוחה ובאמצעות ממשק UI לנהל גרסאות, פיצ'רים וקונפיגרציות מרחוק ותומכת במספר שפות תכנות.

במדריך זה אסביר על התקנת המערכת על גבי Docker Container וכן על השימוש בה, אך לפני שנתחיל אנא וודאו כי התקנתם docker על פי המדריך הבא.

שלב א' – התקנת המערכת

על מנת להתקין את המערכת על גבי שרת ה docker שלכם, פתחו את קובץ ה docker-compose לעריכה והדביקו פנימה את הטקסט הבא:

כעת, שמרו את הקובץ והריצו את הפקודה הבאה:

כעת נוכל לראות ששני קונטיינרים חדשים הוקמו:

Techblog.co.il - Flagsmith containers

שלב ב' – הגדרה ראשונית של המערכת

אחרי שביצענו את ההתקנה, נפתח את הדפדפן וניכנס לכתובת השרת בתוספת פורט 8000. המסך הראשון שנראה הוא מסך הכניסה. בתחתית המסך ישנו קישור להרשמה, לחצו עליו:

Flagsmith login page - techblog

כעת, מלאו את הפרטים שלכם (או השתמשו באפשרות חיבור של גוגל או Github) ולחצו על "Create Account":

Flagsmith - Create Account
כעת, כתבו את שם הארגון שלכם (או שם האתר), ולחצו על "Create":
Flagsmith - set organization name

כעת נפתח פרוייקט חדש. שימו לב כי יפתחו שתי סביבות, האחת סביבת פיתוח, השני פרודקשן. לחצו"Create":

Flagsmith - Create project - טקבלוג

בחלון שיפתח, בחרו שם לפרוייקט ולחצו על הכפתור ליצירתו:

Flagsmith - טקבלוג - techblog

שלב ג' – ניהול פיצ'רים

כעת, לאחר שסיימנו את הקמת הפרוייקט, ניתן להתחיל לנהל את הפיצ'רים אותם נרצה להגדיר עבור האפליקציות, תוכנות או כל מוצר אחר. במסך שהתקבל, לחצו על הכפתור "Create Your First Feature":

Flagsmith - Create Your First Feature

כעת מלאו את הפרטים הבאים:

  1. ID של הפיצ'ר 0 מחרוזת טקסט חד ערכית (למשל header_size).
  2. Value – ערכים עבור הפיצ'ר (למשל גודל פונט, צבע ועוד).
  3. Description – תאור הפיצ'ר לצרכי זיהוי.
Flagsmith - Features creation - טקבלוג - techblog

שלב ד' – הגדרת השימוש בניהול הפיצ'רים באפליקציה שלנו

כעת, לאחר שהגדרנו את הפיצ'רים נטמיע אותם בקוד שלנו. בדוגמה הבאה נוכל לראות כיצד ליישם את הפיצרים בקוד פייתון. ראשית, נתקין את הסיפריה של flagsmith על ידי שימוש בפקודה pip:

כעת נגדיר את הפרמטרים הנחוצים לפעולה התקינה של Flagsmith. כאשר האפשרויות הקיימות הן:

  1. environment_id – ה ID של הפיצ'ר אותו יצרנו (ID שנוצר על ידי המערכת וניתן לראות אותו בהגדרות) – חובה.
  2. api – כתובת ה API של המערכת, נחוץ במידה והקמתם שר משלכם.

דוגמה לשימוש:

פונקציות זמינות

פונקציהתאור
has_feature(key)Determine if given feature exists for an environment. bt.has_feature("powerUserFeature") // true
feature_enabled(key)Get the value of a particular feature flag e.g. bt.feature_enabled("powerUserFeature") // true
feature_enabled(key, userId)Get the value of a particular feature flag e.g. bt.feature_enabled("powerUserFeature", 1234) // true
get_value(key)Get the value of a particular remote config e.g. bt.get_value("font_size") // 10
get_value(key, userId)Get the value of a particular feature for a specified user e.g. bt.get_value("font_size", 1234) // 15
set_trait(trait_key, trait_value, userId)Set the value of a particular trait for a specified user e.g. bt.set_trait("font_size", 12, 1234) // 15
get_trait(trait_key, userId)Get the value of a particular trait for a specified user e.g. bt.get_trait("font_size", 1234) // 12
get_flags()Trigger a manual fetch of the environment features, returns a list of flag objects, see below for returned data
get_flags_for_user(1234)Trigger a manual fetch of the environment features with a given user id, returns a list of flag objects, see below for returned data

למידע נוסף, שפות נתמכות ועוד, ניתן לקרוא כאן.

Be the first to comment

Leave a Reply

כתובת האימייל שלך לא תפורסם


*