שאלות שבהן נעסוק:
- עולמות של סקריפטים
- PIPELINES – מה זה ?
- PIPELINES בעולמות של DEVOPS – GIT *העשרה
- FILTERS – מה זה?
- סקריפט הוא אוסף של פקודות רצופות בשילוב מניפולציה על ידע/מערכות.
- הרעיון המרכזי של הסקריפט הוא לענות על צורך ספציפי בארגון בצורה אוטומטית.
- על פי רוב סקריפטים נכתבים במגוון שפות (PYTHON' java c+ javas)
אבל הם רצים על אחת משתי מערכות הפעלה : WIN או LINUX.
- סקריפט בדרך כלל מופעל ע"י אחת מ – 2 אפשרויות:
- הפעלה ידנית (משתמש מריץ את הסקריפט בעצמו וביוזמתו)
- הפעלה מתוזמנת ( הסקריפט רץ בכל זמן קבוע שהוגדר מראש)
- בשנים האחרונות נולד צורך להפעיל את הסקריפט רק כאשר הקוד של הסקריפט עובר שינוי.
- כדי לענות על הצורך הזה וגם כדי "לשכלל" את המושג סקריפט, נולד המושג PIPELINE שמשמעותו: הרצה של סקריפט, בדרך כלל מורכב, על מערכת הפעלה חיצונית שכל מה שהיא עושה זה להריץ את הסקריפט בלי קשר למערכת ההפעלה של המשתמש.
מושג זה ( PIPELINE ) רווח מאוד בסביבות ענן כמו AZURE , AWS , GCP וכולי….
- אז מה זה בעצם PIPELINE ולמה הוא כזה רווח בתחום שלנו?
PIPELINE – מה זה?
נתחיל מ – PIPE.
איך רושמים PIPE כשורת קוד ?
במקלדת יש כפתור שנראה ככה: (l)
הוא נראה כמו קו ארוך מאונך שנקרא:
PIPE ותפקידו להגיד למערכת שהפקודה מורכבת משני חלקים או יותר כאשר מה שמשמאל ל – PIPE יהיה הקלט עבור מה שמימין ל – PIPE
- הסימון PIPE יכול לחזור על עצמו אינסוף פעמים באותה השורה – ככל שהמשתמש רוצה וצריך לשלב אותו בסקריפט
- באופן תיאורטי – כל סקריפט יכול להירשם כשורה אחת ארוכה מאוד שאת חלקייה מפריד הסימן PIPE למשל:
- אם ככה, מה זה PIPELINE ?
ההסבר הבא רלוונטי לסביבות ענן:
- במשמעות "העננית" – PIPELINE הוא מעין "סקריפט" שנכתב ע"י המשתמש אבל הוא רץ על מכונה חיצונית שלמשתמש אין גישה אליה והסקריפט מבצע פעולות על הסביבות הענניות.
- בדרל כלל מדובר על סקריפט מורכב שמשלב גם פקודות של הזדהות מול הענן וגם פקודות של שינויים בהגדרות של רכיבים בתוך סביבת הענן
- והנה השרטוט להחשה
- PIPELINE בעולמות של DEVOPS:
- כאשר אנחנו כמשתמשים מעוניינים לכתוב סקריפט שירוץ כ – PIPELINE אנחנו נרצה על פי רוב לעדכן מידי פעם את הסקריפט ( כלומר את הקוד של הסקריפט )
- בכל פעם שנעדכן אנחנו רוצים לשמור על האפשרות לחזור אחורה לקוד שהיה לפני העדכון או בקיצור : אנחנו רוצים את האפשרות לנהל גרסאות
- הדרך הטובה ביותר לניהול גרסאות קוד נקראת טכנולוגיית GIT.
- GIT הוא ספרייה של אוסף פקודות שעוסקת בניהול הקוד מול ה – REPOSITORY
ל – GIT יש 3 פקודות עיקריות שהמשתמש יכול להריץ בכל פעם שהוא רוצה לדחוף את הקוד ל – REPOSITORY או למשוך את הקוד הקיים מה – REPOSITORY:
- GIT PULL – פקודה שמושכת את הקוד מה– REPO.
- GIT COMMIT – פקודה שמריצים לפני שדוחפים את הקוד ומטרתה לתאר מה השינוי שהתבצע בקוד.
- GIT PUSH – פקודה שדוחפת את הקוד ל – REPOSITORY.
PIPES הם אוסף של פקודות רצופות אחת אחרי השנייה כאשר אחת היא הקלט עבור זו שאחריה בין כל פקודה לפקודה יש סימן | שמפריד.
PIPE-הדרך "לארגן" כמה פקודות בצורה רציפה כאשר החלק שמשמאל ל PIPE מייצר פלט שמשמש כקלט עבור החלק שמשמאל ל-PIPE.
*התפקיד של ה-PIPE הוא להפריד את 2 הפקודות "ולהגיד" לשנייה לקחת את התוצאה של הראשונה כקלט.
*תאורטית ומעשית ניתן לכתוב סקריפטים ארוכים בשורה אחת עם הפרדות ע"י PIPES.
PIPELINE-תהליך אוטומטי שבו מבקשים להריץ SCRIPT מוכן על גבי מוכנה וירטואלית. שמריצה את הסקריפט בעזרת זהות חיצונית ובשמה מבצעת פעולות בסביבה (לרוב , הקשר הוא בסביבה בענן).
FILTERS:
FILTER– דרך לשלוט על מה שהפקודה אמורה לפלוט ע"י ההגדרה של תוכן מסויים מתוך אותו פלט.
כלומר:אם הפלט אמור להיות "1,2,3,4," ניתן לבקש מראש שהפלט שיוצג יכלול רק את 2 הספרות הראשונות.
או למשל את הספרה האחרונה או רק את הספרות הזוגיות וכו'.
במילים אחרות:
FILTER "מסנן" עבורנו מראש את הפלט לפי דרישה ספציפית.