אם אתה חדש למשתמשים במשתנים הסביבתיים של GitHub Actions, ייתכן שטרם למדת איך לאחסן אותם. אך האם זה אפשרי? כן!
במדריך זה, תלמד דרכים שונות לשמור את משתני הסביבה והסודות שלך שאתה יכול להשתמש בהם כאשר נדרש בזמן שאתה עובד עם GitHub Actions.
מוכן? קרא הלאה כדי להתחיל!
דרישות מוקדמות
מדריך זה יהיה הדגמה מעשית הדורשת מערכת הפעלה עם Git מותקן, מערכת הפעלה של Ubuntu משמשת במדריך. בנוסף, יש צורך בידע יסודי בפעולות Git כדי להגיש קוד למאגר משתני סביבת GitHub Actions.
הגדרה של משתני סביבת GitHub Actions
כאשר אתה אוטומטיזיה תהליכים עם זרימת עבודה של GitHub Actions, ייתכן שתצטרך לקשור משתנים סביבתיים לזרימות העבודה שלך. איך? תצטרך תחילה ליצור ולציין משתני סביבה מותאמים אישית בזרימת העבודה עם המילה המפתחית env
.
1. צור ספרייה בשם .github/workflows שם תאחסן את קובץ העבודה שלך.
2. אחרי כך, יש ליצור קובץ בשם המועדף עליך בתיקיית .github/workflows. אך לדוגמה זו, הקובץ יקרא main.yml. יש להעתיק ולהדביק את הקוד לתוך הקובץ main.yml.
הקוד למטה מגדיר ומציג את משתנה הסביבה API_KEY
כאשר הקוד מפעיל את תהליך העבודה (workflow).
3. לשמור ולדחוף את הקוד אל מאגר ה-GitHub שלך.

4. כעת, פתח את דפדפן האינטרנט שלך ונווט לפרויקט שלך ב-GitHub. לחץ על לשונית Actions, ואז לחץ על ה-commit הנוכחי שלך.
תראה משהו דומה לדימוי המצורף, המראה שה-GitHub הפעיל את תהליך העבודה.

5. לבסוף, לחץ על job1 או על job2, ותראה שהתייחסת בהצלחה למשתנה הסביבה שאתה איניציאלי.


הגדרת משתנה סביבה עבור עבודה
עכשיו שהגדרת את משתנה הסביבה בכל קובץ הזרימה, כל עבודה יכולה להתייחס למשתנה הסביבה. אך אולי אתה רוצה רק שעבודה אחת תתייחס למשתנה הסביבה. אם כן, תציב את המילה המפתח env
בעצמה של העבודה.
1. החלף את הקוד בקובץ ה- main.yml שלך עם הקוד למטה.
הקוד למטה מראה שכאשר אתה מציב את משתנה הסביבה בעבודה מסוימת, עבודות אחרות לא יכולות להתייחס למשתנה הסביבה.
2. צפו בשינויים שלך ודחפו עבודות מהקוד שלך לסביבת פעולת הפעולה ב-GitHub כמו שעשית במקטע הקודם.
3. לבסוף, נווט לפרויקט שלך ב-GitHub, ולאחר מכן לחץ על job1 וגם על job2 כדי לראות את השוואתם:
- עבודה 1 – תראה שהתייחסת למשתנה הסביבה בצורה מושלמת.
- עבודה 2 – מפתח ה- API ריק.


הגדרת משתנה סביבתי עבור שלב
עכשיו שלמדת כיצד לציין משתנים סביבתיים במסגרת שלב, עליך להיתקל בשאלה כיצד תוכל לעשות אותו דבר עם השלבים.
בשלבים בתוך עבודה, אתה צורך להגדיר את המשתנה הסביבתי בתוך השלב כפי שעשית עבור העבודה.
1. החלף את הקוד שיש לך בקובץ main.yml עם הקוד שלמטה.
בקוד שלמטה, אתה מציין את המשתנה הסביבתי ב־שלב 1
אך לא ב־שלב 2
, ותראה את ההשפעה בשלבים הבאים.
2. כעת בצע את השינויים והעלה את הקוד ל־GitHub.
3. לבסוף, נווט אל הפרויקט שלך במשתני סביבה של GitHub Actions, ולחץ על עבודה 1.
אף על פי שאתה מתייחס לשני מפתחות API באותה עבודה (עבודה 1) בשני השלבים, שלב 2 לא יכול לבדוק את מפתח ה- API (ריק), כפי שמוצג למטה. למה? מכיוון שלא ציינת את משתנה הסביבה בתוך שלב 2
בקוד שלך.

ניהול משתני סביבה דרך משתנים סביבתיים וסודות של GitHub Actions
במקום להכניס קוד קשוח, כדאי לאחסן את משתנה הסביבה שלך בצורה מאובטחת, וסודות GitHub יכולים לעשות זאת בדיוק. משתני סביבה של GitHub Actions מצפין את הערכים שאתה מכניס בסודות, כך שהם לא נראים ולא נקראים לעין החשופה.
הסוד שנוצר עם שיטה זו נגיש לכל תהליך העבודה, העבודות, והשלבים; אין כל מגבלות.
כדי לאחסן את משתנה הסביבה שלך בסודות GitHub:
1. תחילה, העלה את הקוד שלך ל-GitHub כפי שעשית בסעיפים הקודמים.
2. לאחר מכן, נווט לפרויקט שלך ב-GitHub ולחץ על כרטיסיית הגדרות.
לחץ על סודות בתוך הכרטיסייה למטה כדי להתחיל להוסיף סוד.

3. לאחר מכן, לחץ על סוד חדש למאגר, ותראה טופס למילוי פרטי הסוד שאתה מוסיף.

4. מלא את הטופס באופן תואם (שם ו־ערך) ולחץ על כפתור הוסף סוד כדי לשלוח. כעת ה-API_KEY
נשמר בסודות GitHub. בטופס זה, GitHub מגדירה באופן מאובטח משתני סביבה כסודות שתוכל להפנות אליהם בעת עבודה עם GitHub Actions.

5. ערוך את קובץ ה־main.yml שלך והחלף את המילה המפתח env
ב־secrets
.
למטה, תראה שאתה מתייחס למפתח ה־API בפורמט זה ${{secrets.API_KEY}}
במקום להכניס את מפתח ה־API ישירות.
6. לבסוף, העלה והגש את הקוד ל־GitHub, ונווט לפרוייקט שלך בסביבת המשימות של GitHub. התייחס לחלק הראשון.
תראה משהו דומה לתמונה למטה, אך לא תוכל לראות את ה־API_key
הממשי מאחר ו־GitHub מצפין את הערכים שאתה מכניס בסודיות.

מתייחס למשתנים הסביבתיים של GitHub ברירת מחדל
קיימים מספר של משתני סביבת מערכת ברירת מחדל שמסופקים על ידי GitHub, שבאפשרותך להשתמש בהם כדי לגשת למערכות הקבצים במאגר במקום להכניס נתיבים בקוד. משתני הסביבה המוגדרים מראש של GitHub מאפשרים לך להיות דינאמי יותר בהתייחסות למשתני סביבה שניתנים לך על ידי GitHub.
כמה מהנתיבים שניתן לקבל עם משתני הסביבה המוגדרים מראש הם:
GITHUB_JOB
– מספק את ה־job_id של העבודה הנוכחית.GITHUB_ACTION
– מספק את ה־id של הפעולה הנוכחיתGITHUB_ACTION_PATH
– מספק את הנתיב בו ממוקמת הפעולה שלך.GITHUB_ACTOR
– מספק את שם האדם או האפליקציה שהפעילו את הזרימה, כמו שם המשתמש שלך ב־GitHub.GITHUB_RUN_ID
– מספק את המספר הייחודי של פקודתrun
.
החלף את מה שיש לך בקובץ main.yml שלך בקוד למטה. הקוד מציג את משתני הסביבה הברירתיים המצויינים בקוד.
בצע commit וpush לשנות את הקוד ב־GitHub, בדוק את הפעולות שלך בפרויקט משתני הסביבה של GitHub Actions שלך, ותראה משהו דומה לדימוי התמונה למטה.

סיכום
במהלך המדריך הזה, למדת איך לנהל את משתני סביבת GitHub Actions. עכשיו יש לך ידע בסיסי על איך לאחסן משתנים בצורה מאובטחת וכיצד להשתמש באלו שסופקו כברירת מחדל על ידי GitHub.
עכשיו איך אתה מתכוון לשבץ את הידע החדש שלך בעת עבודה עם פעולות github? אולי לשמור על מפתחות ה- api הנדרשים להפצה?
Source:
https://adamtheautomator.com/github-actions-environment-variables/