25Aug
אם אתה צוות פיתוח אדם אחד, אתה כנראה לא באמת צריך את הצורך מלאה blown גרסת מערכת מלאה, אך יצירת קוד המקור גיבויים עבור כל גרסה שפורסמו הוא ללא ספק חשוב.
על ידי מינוף הכוח של פוסט לבנות אירועים סקריפט אצווה פשוטה, אתה יכול בקלות להוסיף את היכולת יש Visual Studio ליצור באופן אוטומטי קוד מקור גיבוי עבור כל קוד לבנות לבנות.
איך זה עובד
הפתרון שלנו הוא פשוט: בכל פעם אירוע בנייה מוצלחת מתרחשת, יש לנו סקריפט אצווה להפעיל אשר יוצר ארכיון דחוס( מתויג אופציונלי ו timestamped) של כל הקבצים בתיקייה המתאימה פרוייקט Visual Studio.
זהו זה.כל מה שאתה צריך לעשות הוא בצע את השלבים הבאים.
הגדרת גיבויים לבנות אוטומטיים
ראשית יהיה עליך להוריד ולחלץ את קובץ סקריפט אצווה מהקישור בתחתית המאמר.בנוסף, תזדקק לכלי שורת הפקודה 7-Zip( זה כלול בגירסה 'מלא' של הסקריפט של Project Build Backup, או שאתה יכול להוריד אותו בנפרד).בדוגמה שלנו, הוצאנו קבצים אלה לספרייה "C: \ Tools", אך כל מיקום יעבוד.
פתח את מאפייני פרוייקט Visual Studio, על ידי לחיצה כפולה על 'הפרוייקט שלי' בפרויקט המתאים.
במאפייני הפרויקט, עבור אל הקטע Compile.
בפינה השמאלית התחתונה, לחץ על הלחצן בניית אירועים.
במקרה שלנו, אנחנו רוצים לעשות גיבוי לאחר פעולת קומפיל מוצלחת.ודא שיש לך אפשרות להפעיל את האירוע שלאחר הבנייה "על בנייה מוצלחת" ולאחר מכן לחץ על הלחצן 'ערוך פוסט'.
הפקודה הבאה יוצרת גיבוי לבנות רק עבור הידור של תצורת השחרור( זהו מצב IF אם בודק) כמו, באופן ריאליסטי, אנחנו כנראה לא רוצים לעשות גיבוי של כל Debug / בדיקות לבנות.בנוסף, חותמת הזמן הנוכחי יצורף( / D לעבור) עם קובץ הגיבוי להיות בפורמט קובץ 7z( / 7z) לעומת מיקוד.על ידי הוספת / T "$( ConfigurationName)" כפרמטר, אנו מצרפים את סוג הבנייה( שחרור במקרה זה) לשם קובץ הגיבוי.
אם "$ $( ConfigurationName)" == "שחרור" CALL C: \ Tools \ ProjectBuildBackup.bat "$( SolutionDir)" "$( ProjectDir)" "$( ProjectName)" / T "$( ConfigurationName)" / D/ 7z
באמצעות לחצן פקודות מאקרו, אתה יכול לקבל מידע ספציפי לפרויקט Visual Studio מראש ולכן לא נדרש קידוד קשיח.אתה יכול לשנות את הפקודה לפי הצורך( במיוחד את המיקום של קובץ אצווה), אבל שלושת הפרמטרים הראשונים סביר להניח שלא צריך להיות שונה.
חשוב לזכור כי פעולות לאחר האירוע פועלות ללא קשר לתצורת הפרוייקט שנבחרה.זו הסיבה שאנחנו צריכים להוסיף את "$ $( ConfigurationName)" == "שחרור" הצהרה - אחרת פעולת הגיבוי תתרחש על כל לבנות אירוע מוצלח.
לאחר שתסיים את הפקודה ותחיל אותה, מחרוזת הפקודה תופיע בקטע 'אירועים לאחר הבנייה'.
שים לב שבעוד שהפקודה "CALL" אינה נחוצה מבחינה טכנית, מומלץ מאוד, כאילו זה מושמט אז כל האירועים שנוספו לאחר זה לא יכול לבצע.
עכשיו בכל פעם שאתה מפעיל לקמפל / לבנות עם הפרויקט שלך בתצורה שחרור, תראה את הפלט של פעולת גיבוי לבנות.
[...]
כל גרסה מוצלחת של השחרור יוצרת ארכיון חדש עם תיקיית הפתרון בתיקיית משנה, "Builds"( אשר ניתן להגדיר באופן מותאם אישית עם מתג / O בעת הצורך).
התוכן של כל גיבוי הוא מלא Visual Studio הפרויקט - קבצי המקור, הגדרות התצורה, קבצים בינאריים הידור, וכל - מה שהופך את זה נקודה אמיתית בזמן גיבוי.
לא תחליף לגרסה מלאה מערכת בקרת
לסיום, אנחנו רק רוצים לחזור ולציין כי כלי זה אינו מיועד להחליף מערכת מלאה blown גרסה מלאה.זה פשוט כלי שימושי עבור מפתחים ליצור תמונות של קוד המקור של הפרויקט שלהם לאחר כל קומפילציה.
אם יש לך פעם לחזור ולבחון גירסה קודמת, לאחר מוכן לשימוש( פשוט לחלץ לספרייה חדשה) קובץ הפרויקט עבור נקודת זמן אוסף באמת יכול לבוא שימושי.
קישורים
להוריד את הפרויקט בניית סקריפט גיבוי
הורדה 7-ZIP שורת הפקודה כלי( הערה - כלי 7za הוא גם יחד עם הורדה של סקריפט גיבוי בניית פרוייקט)