בניית תוכנה

במדעי המחשב, המושג בניית תוכנה (באנגלית: software build, או בקיצור build) מתייחס לתהליך של הפיכת קובצי קוד מקור לתוצרי תוכנה עצמאיים (standalone) הניתנים להרצה על מחשב. כמו כן, המושג יכול להתייחס גם לתוצר עצמו של תהליך זה. אחד השלבים העיקריים של בניית תוכנה הוא תהליך ההידור (קומפילציה), בו קובצי קוד מקור הופכים לקוד הניתן להרצה (executable code).

בעוד שעבור תוכניות פשוטות תהליך הבנייה מורכב רק מהידור של קבצים בודדים, קוד המקור של תוכנות מורכבות יכול להיות פרוס על פני קבצים רבים אותם ניתן לשלב בדרכים שונות לקבלת הרבה גרסאות שונות.

ישנם כלי אוטומציה של בניית תוכנה (build tool) - תוכנה אשר שולטת באופן אוטומטי על תוכנות אחרות ומתאמת את הפעילות שלהן, הנמצאים בשימוש נפוץ לבניית תוכנות. דוגמאות לתוכנות כאלה הן "Make", "Maven", "Gradle", "Ant" ו"ג'נקינס". הכלי לבניית תוכנה צריך להדר ולקשור את הקבצים השונים, בסדר הנכון. אם קוד המקור בקובץ מסוים לא השתנה, ייתכן שאין צורך להדר אותו מחדש (עם זאת, ייתכן שבכל זאת יהיה צורך להדר אותו מחדש אם הוא תלוי בקבצים אחרים שנעשה שינוי בקוד המקור שלהם). כלים חכמים לבניית תוכנה מנסים להימנע מלהדר מחדש קוד שאינו דורש זאת, על מנת לחסוך בזמן הנדרש לביצוע הבנייה. כלי בנייה מודרניים יכולים להיות משולבים בתוך תוכנות לניהול גרסאות כדוגמת גיט, בפרט בשירותים רחבים יותר כמו גיטהאב. תהליך מורכב יותר עשוי לכלול גם תוכנות נוספות המפיקות קוד או נתונים עבור תהליך הבנייה.

ראו גם 
 אוטומציה של בניית תוכנה
 Continuous integration
 ניהול גרסאות
 ISO/IEC/IEEE 12207

פיתוח תוכנה