
.env ליצירה אוטומטית שלו בתוך סקריפט ה-User Data של Terraform, כך שערכי החיבור ל-DATABASE נשלפים ישירות מהאובייקטים של התשתית ולא נכתבים ביד.echo ומפנים את הפלט ל-.env. שני חצים (>>) מוסיפים שורה בסוף הקובץ, וחץ אחד דורס את מה שיש בו.${...}. כך שינוי עתידי נעשה במקום אחד בלבד, ולא צריך לחפש את הערך בכל הקוד.locals, שמפצל את הערך ולוקח רק את החלק הראשון. פורט 80 ושם הטבלה USERS נשארים קבועים.TF PLAN הראה שרק משנים את המכונה ולא מחליפים אותה, אבל סקריפט User Data רץ רק ביצירה. מוסיפים את המאפיין user_data_replace_on_change, וכך שינוי בסקריפט מוחק את המכונה ויוצר אותה מחדש. מכונת ה-SQL לא נפגעת.TF APPLY נכנסים ב-SSH (כתובת ה-IP השתנתה), עוברים ל-root ובודקים עם cat שהקובץ .env נוצר נכון ושם השרת תואם ל-RDS. NPM START מעלה את האתר והנתונים נשלפים.NPM START שנכתב בסוף הסקריפט ירוץ רק פעם אחת, בהפעלה הראשונה של המכונה. אחרי Stop או Reboot האתר לא יעלה, וצריך להפעיל אותו מחדש בכל אתחול. הפתרון בהרצאה הבאה..env משתמשים ב-ll -a..env אוטומטית מתוך Terraform ולהבין למה הוא חייב להיווצר בסקריפט.הטקסט המלא של הדקות הראשונות בהרצאה «קובץ env ב-Terraform פרויקט NodeJS» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם. בסרטון קודם יצרנו קובץ ENV באופן ידני. בתוך הקובץ יש לנו משתני סביבה שהאתר שלנו צריך. DB HOST, שם של שרת SQL, שם של USER.
כל משתני הסביבה האלו בדקנו שהשרת צריך. עשינו NPM Start, ואז NPM Start יפעיל לנו את ה-SERVER.JS. אפשר לראות פה NODE SERVER.JS. בתוך SERVER.JS הוא יקרא את כל אלו וידע להתחבר ל-DATABASE, והכול עובד.
אפשר להתחבר ל-IP שלו ולבדוק. הנה בבקשה, כל הנתונים נשלפים, הכול תקין. זה מה שהיה בסרטונים הקודמים. עכשיו המטרה שלנו ליצור את הקובץ הזה עם התוכן הזה בתוך סקריפט.
אז אנחנו מתחילים עם הפקודה ECO שם של שרת, נניח AAA. עוד מעט נעשה את השם האמיתי, ואת כל השורה הזאת אנחנו שומרים בקובץ נקודה ENV. אחרי זה אנחנו עושים אותו דבר עם ה-USERNAME.
נניח BBB. תכף נכניס נתונים אמיתיים. שני חצים נקודה ENV. שני חצים זה אומר להוסיף בסוף הקובץ. חץ אחד אומר לדרוס את מה שיש שמה.
אז זה למעשה יוסיף עוד שורה בקובץ. אנחנו צריכים גם סיסמה. נניח CCC לתוך ENV. מה היה לנו שמה עוד? HOST, USER, PASSWORD, NAME, DATABASE NAME לתוך קובץ ENV, ושניים האחרונים, TABLE NAME שווה USERS.
זה קבוע, ופורט שמונים גם קבוע. זאת אומרת, את אלו אני לא הולך לשנות. אבל A, B, C, D זה סתם משהו שכתבתי, שעכשיו נחשוב ביחד מה לכתוב כאן. בואו נראה איפה אני יכול למצוא DATABASE USERNAME.
הוא נמצא פה בתוך קובץ RDS. תאורטית אני יכול לקחת את ה-ADMIN הזה ולהכניס אותו פה. DATABASE USER שווה ADMIN, וזה נכון וזה יעבוד.
אבל אם יום אחד מישהו ירצה לשנות את ה-USERNAME מה-ADMIN למשהו אחר, אז הוא יצטרך לחפש את זה בכל המקומות שה-ADMIN הזה מופיע, וזה מקום לטעויות. בגלל זה אני רוצה כאן לא לכתוב ADMIN, אלא לשלוף את ה-ADMIN הזה מהאובייקט פה, מהשורה