
docker build בשבילנו. בפרויקט בונים את האימג' עם תגית בשם הפרויקט.הטקסט המלא של הדקות הראשונות בהרצאה «Docker & Visual Studio» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם בהרצאה הזאת אני רוצה להראות לכם איך עובדים עם קונטיינרים מתכנתים איך הם ביום יום מפרסמים דברים מתוך ויז'ואל סטודיו לקונטיינר ואיך אנחנו מושכים את זה איך זה קורה במציאות אז בואו נתקין קודם כל ויז'ואל סטודיו זה חינם ואנחנו נעשה דאונלוד לויז'ואל סטודיו זאת סביבת פיתוח שבה כותבים קוד זה כמו נוטפד משוכלל יותר שבו כותבים קוד,
הוא גם מתקן שגיאות תוך כדי כתיבה, יש לו גם כלים נוספים כמו לעצור באמצע הריצה של התוכנה ולהראות מה קורה שם, אנחנו שמים לו ברקפוינט, נקודת עצירה באמצע, זה למעשה סביבת פיתוח שבה משתמשים המתכנתים במייקרוסופט, יש לנו גרסת קומיוניטי החינמית שיש בה בעצם כל מה שאנחנו נצטרך, היא לא מיועדת לפרויקטים בתשלום, פרויקטים בתשלום צריכים להוריד גרסה אחרת,
אבל מבחינת פיצ'רים יש בה כל מה שאנחנו צריכים. אז אני מתקין עכשיו Visual Studio, זאת סביבת פיתוח לדוגמה ב-Java, מי שמפתח ב-Java מפתח ב-Eclipse, סביבת פיתוח Eclipse, סביבת פיתוח זה כל הכלים שצריך לפיתוח, כמו לקמפל תוכנה, להריץ תוכנה, לדבג אותה ולתקן שגיאות תוך כדי כתיבה.
אנחנו לומדים על כל זה בקורס של תכנות בהרצאה הזאת אנחנו לא נתכנת שורה אחת אנחנו לא נכתוב אף שורת קוד המטרה פה זה לא ללמוד תכנות אלא ללמוד איך המתכנתים עובדים כדי שאתם תדעו איך הם עובדים עם דוקרים ואולי הם ישאלו אתכם איך כדאי לעבוד אז אני נכנס לויז'ואל סטודיו יש
פה הרבה מאוד רכיבים שלהם ותראו את זה asp.net עם דוקר סופורט עם תמיכה בדוקר שימו לב ויז'ואל סטודיו החל מאלפיים ותשע עשרה אני חושב אפילו 2017 אולי כבר תומך בדוקרים.
אנחנו שמים פה V ויש פה עוד רכיבים שאפשר להתקין. אנחנו לא נעבור עליהם, אנחנו לא בקורס תכנות, זה 7 ג'יגה שימו לב.
הוא מתחיל התקנה, אני אשים בפאוז, כי ייקח לו הרבה זמן להתקין את זה ולהוריד את זה. הנה הוא מתקין, אתם רואים הוא מוריד ומתקין. הנה אני רואה ההתקנה הסתיימה, תכף הוא יפעיל את זה כי יש פה סטארט אפטר אינסטליישן.
נחכה, ניתן לו דקה. הנה הוא שואל אותי כאן אחרי ההתקנה אם אני רוצה להירשם באתר של מייקרוסופט, אני עושה לו. אחרי זה, לא כרגע, איזה סקין, איזה צבע אני רוצה, נעשה רגיל.
את זה אנחנו נסגור, את חלון ההתקנה אנחנו כבר לא צריכים, אפשר לסגור אותו. ונקטין את הפונט, כי יש לי פה הגדלה של 175 אחוז, נעשה את זה 150 אחוז כדי שייכנס לנו יותר מידע.
והנה הוויז'ואל סטודיו התחיל לעבוד ויש לו פה איזה ויזארד שהוא שואל אותי, אם אני רוצה להתחיל פרויקט חדש בוא נעשה בלי פרויקט חדש סתם שנראה ככה הוא נראה ועכשיו נעשה פרופייל ניו פרויקט פרויקט חדש אנחנו עושים פרויקט של sp.net core.sp.net זה אתרי ווב נקסט שואל אותי איזה שם של פרויקט נקרא לזה פרויקט 1 פרויקט 1 פרויקט מספר 1 אתם יכולים לקרוא לו בכל שם נקסט עכשיו הוא שואל אותי האם אני רוצה אותו ריק או
איזשהו טמפלט, איזושהי תבנית מוכנה, נעשה project web application, שיהיה לי איזשהו אתר פשוט, מוכן, ושימו לב, יש פה v-enable docker support, להכניס כבר docker פנימה, ואם אני שם v אני גם אומר על איזה פלטפורמה אני רוצה אותו, אני לא שם v כדי להראות לכם איך אני אוסיף
את זה לבד, אז כרגע כאילו יש לי אתר אינטרנט בלי docker. זה יפה שהם כבר שילבו את זה כחלק מבניית אתר חדש, עד כדי כך הטכנולוגיה הזאת חשובה, היא באמת מושרשת בכל מקום.
גם VMware אומרים שהם יתמכו בזה. על Eסיקס עצמו אפשר יהיה להריץ קונטיינרים. ויש לנו פה אתר אינטרנט מוכן עם כמה עמודים, אנחנו יכולים גם להחליף, לדוגמה עמוד של privacy, סתם דוגמה, אנחנו יכולים לעשות לו בכותרת נניח 111. סתם, בואו נריץ את זה, ה-S-Express יריץ לנו את כל האתר הזה.
בואו נריץ אותו סתם, רק לראות שהוא באמת עובד. זה קוד, שימו לב, פה אני כותב קוד ופה html, זה נקרא שפת רייזור, שפה שמשלבת קוד וזה, הוא שואל אותי האם אני סומך על ssl שלהם, אני עושה לו yes, הוא אומר לי להתקין תעודה דיגיטלית שלהם, יפה מאוד, ויש לנו פה אתר אינטרנט שעובד, משהו פשוט, אין בו למעשה כלום,
סתם כמה דפים פשוטים של מידע, בואו נראה את זה, הנה כזה welcome, ויש פה עמוד של home שעליו אנחנו נמצאים ועמוד של privacy 11 הזה ששמנו.
זהו, רק שני עמודים, home ו-privacy וזהו. כרגע הרצנו אותו במצב של דיבאג, זה אומר שאנחנו יכולים לשים פה נניח breakpoint ולהגיד לו לעצור, כשהוא יגיע לקוד הזה, לפקודה הזאת לעצור, ואז נוכל לשנות משהו, לראות מה קורה אצלו בזיכרון ודברים כאלו. זה נקרא לדבג אותו.
אני מלמד אתכם מילות בסיס כי אתם כל הזמן תיתקעו בזה. אז אם נגיע נניח לפרייבסי הנה קפצנו לדיבאג כי אנחנו בעמוד של פרייבסי.
אנחנו יכולים לעבור שורה שורה בקוד אנחנו יכולים להמשיך להריץ את האתר. לדוגמה הום לא קורה כלום כי שמנו ברקפוינט בפרייבסי אם אנחנו נקפוץ שנייה לדפדפן חזרה אנחנו נראה שהוא מסתובב ומחכה לתשובה מהשרת והשרת כרגע מחכה שאנחנו נגיד לו מה לעשות בשורה הבאה אפשר גם להציץ לתוך המשתנים לראות מה קורה בתוך המשתנה הזה.
יש פה write click quickwatch ואת כל זה אנחנו לומדים בקורס תכנות כרגע יש בו נעל כרגע הוא ריק ואחרי שנבצע את הפקודה הזאת שורה הזאת נעשה פה דיבאג וטאפ אובר כן או סטאפ אינטר זה לא משנה הנה עברנו לשורה הבאה אתם עכשיו יכולים לראות שפה שביצלנו אותה ב quickwatch התווסף 111 אתם רואים התווסף פה 11 בזה כי ביצענו שורה זה נקרא לדבק תוכנה ולחפש בעיות
לעבור שורה שורה טוב זה נקרא לדבק יש לנו גם ריליס מה זה ריליס ריליס זה אומר גרסה סופית ברגע שאני מריץ אותו בגרסה סופית אני כבר לא יכול לעבור שורה שורה כי בגרסה סופית בריליס אין את כל המידע הטכני הנוסף זה אותו אתר אותו תוכן רק הוא מסתיר ממני את כל המידע הטכני לדוגמה יש שגיאה הוא לא מספר מה בדיוק השגיאה כדי שהאקר לא ידע מה השגיאה זאת אומרת במצב ריליס זה המצב
שאנחנו משחררים את זה ללקוח סופי והוא אומר תראה אתה רוצה לדבק במצב ריליס מה קורה פה אז אני אומר לו top debugging וזהו הוא נעצר אם אני אגיד לו להמשיך ואני אשים פה disable just my code and continue כאילו שאני לא יכול לדבק אוקיי תכף הוא יעלה במצב ריליס עכשיו מה חשוב אתם צריכים לדעת אנחנו עכשיו הולכים להוסיף דוקרים לדוגמה אם אני נכנס פה ושם פה נקודה
ברקפוינט אתם תראו שאני כבר לא יכול כן אני כבר לא יכול להוסיף פה ברקפוינט בדברים כאלו והאתר זה אותו אתר טוב דבר אחרון שאני מלמד אתכם מה זה בילד בילד זה אומר לקחת את הקוד שכתוב בשפה הזאת ולהפוך אותו למוצר סופי לדוגמה זה קובץ dll זאת אומרת הדבר הסופי לעשות בילד זה להפוך את הכל לדוגמה לפרוג'קט
1 dll וזה מה שהדוטנט מעריץ אז כל הקוד שכתוב באנגלית הפשוטה הופך כביכול לשפת מכונה ושוכב בתוך הדי.אל.אלים ונמצא בתיקיית ריליס, זאת אומרת שאם אנחנו ניכנס לתיקיות פה, עכשיו אתם חייבים להכיר את זה כי המתכנתים ידברו איתכם על זה, אתם אלו שתתמכו בזה, גם דיברנו על זה לפני כן, אני רק חוזר.
אז בפרויקט 1 יש לי את כל הקבצים של הפרויקט, בבין יש לי בעצם את המוצר בשפת מכונה, יש אותו עם דיבאג, זה אומר עם מידע נוסף שהוא פולט במקרה של שגיאה, או עם ריליס, שזה כבר בלי המידע הנוסף שייפלט.
ריליס אני רוצה לשחרר, דיבאג אני רוצה לעצמי להשאיר, כן? כאן אני מחפש דעויות, אבל זה מה שהמערכת מריצה.
המערכת לוקחת את הקוד בשפת אנגלית, הופכת אותו כביכול לשפת מכונה, ואז מריצה אותו, אוקיי? את זה הבנו. עכשיו, אני גם יכול למחוק דרך אגב את שני אלו, אין שום בעיה למחוק אותם.
הנה בבקשה, מחקתי אותם, וכשאני אעשה פה ריבילד, הוא יבנה אותם מההתחלה. אתם יכולים ממש לראות פה שעכשיו ה-rebuild יעשה אותם.
והנה בבקשה הופיע ה-release, אתם יכולים לראות פה Rebuild started, הנה הוא הסתיים והנה הוא הופיע פה כל ה-release. יפה מאוד.
עכשיו, כשאנחנו מריצים משהו, אנחנו עושים בילד ואז מריצים את ה-DLL הסופי הזה, כשאנחנו עושים פה פליי.
עכשיו, מה יש לנו אופציות להריץ אותו ב-AS, ב-AS Express, ודבר אחרון שאני רוצה ללמד אתכם מה זה Publish. Publish, איפה הוא נמצא?
רמת פרויקט כן אתם רואים יש פרויקט שזה למעשה תוכנה ויש סולושן שזה אוסף של כמה תוכנות ביחד נניח שיש לי כמה תוכנות שלוגית שייכים לפרויקט אחד אז יכולים להיות אתר אינטרנט אחד, אתר אינטרנט פנימי לדוגמה זה אתר אינטרנט חיצוני ללקוחות ויש אתר אינטרנט פנימי להזנת מוצרים חדשים שרק העובדים נכנסים לשם אז יכול
להיות הפרויקט של החנות מורכב משני אתרים אתר הפנימי שלי באתר ללקוחות יש אופציה שנקראת פאבליש פאבליש למעשה לוקחת את אותו ריליסט שעשינו בדיוק את אותו הריליסט שעשינו ויכולה להעתיק אותו נניח לאז'ור כן לענן של מייקרוסופט או לאיזושהי תיקייה בחוץ בעולם החיצון זאת אומרת זה למעשה כמו ריליסט פלוס קופי לאנשהו אוקיי זה נקרא
פאבליש יפה מאוד אז אה רציתי להראות לכם שימו לב איזה אופציות יש לנו לפאבליש יש לנו אופציות לפרסם את זה אמרנו הנה אני רואה פה פאבליש אני יכול לעשות פה סטארט ואז הוא שואל אותי פאבליש לאן לאז'ור לאז'ור אז'ור לינוקס אז'ור רגיל אז'ור VM איזשהו וירצ'ואל משין ולפרסם ישר לווירצ'ואל משין ולפרסם לאיזשהו תיקייה
ב-FTP בשרת קבצים מרוחק או לאיזושהי תיקייה סתם לזרוק אני סתם יכול לזרוק את הכל לאיזושהי תיקייה והוא יזרוק את זה לשם. זה האופציות שיש אוקיי עכשיו מה שקורה קורה קסם שאני מוסיף שימו לב, docker support, תמיכה בדוקר, אני אומר הפרויקט הזה, תוסיף תמיכה בדוקר.
לפני שאני עושה את זה, שימו לב פה לקבצים שיש לי בפרויקט. אתם רואים איזה קבצים יש? ובואו נראה איזשהו קסם שהתבצע. לא, אנחנו לא רואים פה קסם?
אני רוצה להראות לכם קסם. בואו נעביר את זה לפה. בואו נראה מה יתווסף ברגע שאנחנו נוסיף docker support.
לינוקס או ווינדוס, נניח אנחנו נרצה לעשות את הלינוקס כי הבסיס הוא יותר קטן, וזה .NET Core שיכול להריץ, לרוץ על לינוקס. בניגוד ל- .NET Framework שחייב ווינדוס, .NET Core החדש, פריימורק כבר לא מוצאים לו גרסאות חדשות.
מייקרוסופט עברו ל- .NET Core, זה למעשה המשך של פריימורק והוא עובד גם על לינוקס. אני אומר עדיף על לינוקס כי הבסיס של הלינוקס כמערכת ההפעלה יותר קטן.
יפה מאוד. יופיע פה דוקר פייל, זוכרים דוקר פייל שבונה לי אימג' למעשה מייקרוסופט עשו לי פה דוקר פייל שיבנה לי אימג' ובסוף יעשה אנטרי פוינט שיריץ project1.dll את האתר שלי, אתם רואים אנטרי פוינט, אחרי שהוא עושה קומפילציה ו.net ריסטור זה של כל מיני פקאג'ים נוספים שצריך,
בילד שזה לקמפל אותו במצב ריליס, אתם רואים הוא מקמפל אותו במצב ריליס, ובסוף בסוף עושה לי פה בייס חדש ועושה קופי לתיקיית אפ ומריץ לי את זה. נכון? אתם זוכרים את כל זה.