אוטומציה של בניית תוכנה

הנדסת תוכנה
ערך זה שייך לקטגוריית הנדסת תוכנה
פעילויות ושלבים
דרישותניתוחאפיוןארכיטקטורהעיצובתכנותניפוי שגיאותבדיקהאימותבנייהפריסהתפעולתחזוקה
מתודולוגיות
זריזותמפל המיםתכנת ותקןCrystal ClearScrumUnified ProcessExtreme Programmingאינטגרציה רציפהDevOps
תחומים תומכים
ניהול פרויקטיםניהול תצורהתיעודהבטחת איכותProfiling
כלים
מהדרמקשרמפרשIDEניהול גרסאותאוטומציית בנייה

אוטומציה של בניית תוכנה או אוטומציית בנייהאנגלית: "Build Automation") היא התהליך של אוטומציה ויצירת סקריפטים לבניית תוכנה וביצוע של מגוון משימות אחרות שמפתחי תוכנה עושים בעבודה היום-יומית שלהם, והיא כוללת פעולות כגון:

יתרונות

בין היתרונות של אוטומציית בנייה לפרויקטי פיתוח תוכנה ניתן למנות:

  • שיפור איכות המוצר
  • זירוז העיבוד של תהליכי ההידור והקישור
  • ביטול ביצוע כפול של אותן משימות
  • הפחתה של כמות הבניות הכושלות
  • ביטול התלות בצוות ייעודי לבנייה
  • שמירה של היסטוריית הבניות והשחרורים לצורך חקירה של תקלות
  • חיסכון בזמן וכסף בזכות היתרונות שפורטו למעלה

סוגים

  • אוטומציה על פי דרישה (on-demand): לדוגמה, משתמש המריץ סקריפט משורת הפקודה.
  • אוטומציה מתוזמנת (scheduled): לדוגמה, שרת continuous integration שמריץ בניות ליליות (nightly build).
  • אוטומציה המופעלת על ידי אירועים (triggered): לדוגמה, שרת continuous integration שמבצע בנייה עם כל commit למערכת ניהול גרסאות.

היסטוריה

היסטורית, מתכנתים השתמשו באוטומציה לבניית תוכנה כדי לקרוא למהדרים ולמקשרים (linkers) מתוך סקריפט במקום לעשות זאת משורת הפקודה. זה לא קשה להשתמש בממשק שורת הפקודה כדי להעביר מודוּל אחד של קוד מקור אל המהדר ואז אל המקשר על מנת לקבל את התוצר הסופי. אולם הניסיון להדר ולקשור הרבה מודולים של קוד מקור, לפי סדר מסוים, הוא אינו פתרון מעשי על ידי שימוש בממשק שורת הפקודה. שפת הסקריפטים Make הציעה אלטרנטיבה טובה יותר. היא אפשרה לכתוב סקריפט בנייה שקורא לפי הסדר לשלבי ההידור והקישור כדי לבנות את היישום. גרסת ה-GNU Make הציעה גם אפשרויות נוספות כדוגמת makedepend שאפשרה גם ניהול מסוים של תלויות בקוד המקור (dependency management) ובנייה אינקרמנטלית. זאת הייתה ההתחלה של אוטומציית בנייה והיא התמקדה באוטומציה של הקריאות למהדרים ולינקרים. ככל שתהליך הבנייה הפך מורכב יותר, מפתחים החלו להוסיף פעולות לפני ואחרי הקריאות למהדר, כגון הוצאה של קוד מקור ממערכת ניהול גרסאות (check-out) והעתקה של האובייקטים המוכנים לפריסה לסביבת הבדיקות. כיום המושג "אוטומציית בנייה" כולל את הניהול של פעולות ההידור והקישור עצמן, כמו גם הפעולות שבאות לפני ואחרי פעולות אלה.

כלים מזן חדש

בשנים האחרונות, כלים לניהול בנייה סיפקו אפילו יותר תמיכה באוטומציה של תהליך הבנייה. קיימים הן כלים מסחריים והן כלים בקוד פתוח לביצוע בנייה אוטומטית ועיבוד של שלבי העבודה השונים. חלק מהכלים מתמקדים באוטומציה של השלבים שבאים לפני ואחרי הקריאה לסקריפט הבנייה, בעוד שמטרת כלים אחרים היא לפשט ולייעל את קריאות ההידור והקישור עצמן, מבלי שיהיה צורך בהרבה קידוד ידני. כלים אלה שימושיים במיוחד לבנייה במסגרת continuous integration, שם נדרשות קריאות תכופות לתהליך ההידור ונדרש עיבוד לבנייה אינקרמנטלית (incremental build processing).

אוטומציית בנייה מתקדמת

אוטומציית בנייה מתקדמת מאפשרת לבצע בנייה ו/או עיבוד עיבוד מבוזר באמצעות סוכן (agent) מרוחק. משמעות המושג "בניות מבוזרות" (distributed builds) היא שהקריאות למהדר ולמקשר יכולות להשלח למספר מקומות שונים על מנת לשפר את מהירות הבנייה. לעיתים קרובות מבלבלים מושג זה עם המושג "עיבוד מבוזר" (distributed processing).

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

על מנת שתהליך הבנייה המבוזר יוכל לשלוח את שלבי ההידור והקישור השונים למכונות שונות, עליו להיות בעל "אינטליגנציית מכונה" שתאפשר לו להבין את התלויות (dependencies) שבקוד המקור. הכלי לאוטומציית בנייה צריך להיות מסוגל לנהל תלויות אלה על מנת שיוכל לתמוך בבנייה מבוזרת. חלק מכלי הבנייה יכולים לגלות תלויות אלה תכנותית (programmatically), בעוד שכלים אחרים דורשים קונפיגורציה של התלויות על ידי המשתמש.

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

לא כל הכלים לאוטומציית בנייה יודעים לבצע בניות מבוזרות. רובם תומכים רק בעיבוד מבוזר. בנוסף, רוב המוצרים שתומכים בבנייה מבוזרת יודעים לטפל רק בקוד בשפות C ו-++C. מוצרים לאוטומציית בנייה שתומכים בעיבוד מבוזר בדרך כלל מבוססים על Make, ורובם אינם תומכים ב-Maven או Ant.

ראו גם

Read other articles:

BMW Z4 (E89)InformasiProdusenBMWMasa produksi2009–sekarangPerakitanRegensburg, Bavaria, JermanPerancangJuliane Blasi (eksterior) [2006]Nadya Arnout (interior) [2006]Bodi & rangkaKelasRoadsterBentuk kerangka2-door coupe convertibleTata letakFMR layoutPenyalur dayaMesin1.997 cc (121,9 cu in) I41.997 cc (121,9 cu in) twin-turbocharged I42.497 cc (152,4 cu in) N52B25 I62.996 cc (182,8 cu in) N52B30 I62.979 cc (181,8 ...

 

Hiroshi Teshigahara Hiroshi Teshigahara (lahir, 28 Januari 1927 di Chiyoda, Tokyo, Jepang dan meninggal, 14 April 2001 di Tokyo, Jepang) adalah seorang pembuat film, Ia berpaling ke film sebagai perpanjangan eksplorasi estetika dalam media lain.[1][2] Hiroshi Teshigahara lahir sebagai putra Sofu Teshigahara yang merupakan pendiri dari Sogetsu School of Ikebana (Flower arrengement).[2] Teshigahara menikah dengan Toshiko Kobayashi hingga akhir hayatnya dan dikaruniani du...

 

Bupati SupioriLambang Kabupaten SupioriPetahanaDrs. Yan Imbabsejak 31 Mei 2021Masa jabatan5 tahun; dapat diperpanjang sekaliDibentuk2003Pejabat pertamaJules Fitzgerald WarikarSitus webSitus Resmi Kabupaten Supiori Kabupaten Supiori dari awal berdirinya hingga saat ini sudah pernah dipimpin oleh beberapa bupati. Saat ini Bupati Supiori dijabat oleh Drs. Yan Imbab, untuk periode 2021-2024. Daftar Bupati Berikut ini adalah Bupati Supiori dari masa ke masa. No Bupati Mulai menjabat Akhir men...

Gadsden, AlabamaKotaNegara Amerika SerikatNegara bagianlbs Negara bagian AlabamaMontgomery (ibu kota)Topik Sejarah Geografi Orang Pemerintah Gubernur Wakil gubernur Kawasan Metropolitan Tempat wisata Landmark Nasional Bersejarah Wilayah Atlantic Coastal Plain Birmingham District Black Belt Central Alabama Cumberland Plateau Greater Birmingham Gulf Coastal Plain Lower Alabama Mobile Bay North Alabama Northeast Alabama Northwest Alabama Piedmont Ridge and Valley River Region South Ala...

 

Brian Dennehy Brian Dennehy (/ˈdɛnəhi/; 9 Juli 1938 – 15 April 2020) adalah seorang pemeran Amerika Serikat. Ia memulai debut di pertelevisian sejak 1977. Kala itu, ia setidaknya sudah tampil dalam 10 serial seperti Kojak, MASH, dan Lou Grant. Ia meraih Tony Awards pada 1999 dan 2003 setelah berperan sebagai Willy Loman dalam film Death of a Salesman karya Arthur Miller serta James Tyrone dalam Long Day's Journey Into Night karya Eugene O'Neill. Setelah itu, ia menerima nas...

 

A divisional buyout or carveout, in finance, is a transaction in which a corporate division, business unit, or subsidiary is acquired using the same financial structuring as a leveraged buyout. Typically, in these transactions, the financial sponsor will turn the acquired business into a standalone company, necessitating the creation of certain functions that were formerly provided by the parent company. Divisional reverse leveraged buyout (D-RLBO) A D-RLBO is a leveraged buyout of a division...

For Netflix original series and related specials, see List of Netflix original programming. For Netflix original stand-up comedy specials, see List of Netflix original stand-up comedy specials. For Netflix exclusive international distribution films, see Lists of Netflix exclusive international distribution programming. Netflix is an American global on-demand Internet streaming media provider, that has distributed a number of original programs, including original series, specials, miniseries,...

 

العلاقات المجرية البوتانية المجر بوتان   المجر   بوتان تعديل مصدري - تعديل   العلاقات المجرية البوتانية هي العلاقات الثنائية التي تجمع بين المجر وبوتان.[1][2][3][4][5] مقارنة بين البلدين هذه مقارنة عامة ومرجعية للدولتين: وجه المقارنة المجر بوتا...

 

التاريخ العسكري لفنلندا خلال الحرب العالمية الثانيةمعلومات عامةالبداية 30 نوفمبر 1939النهاية 1947المنطقة  فنلنداأهم الأحداث الحرب العالمية الثانيةالتأثيراتأحد جوانب فنلندا — تاريخ عسكري — الحرب العالمية الثانية — history of World War II (en) فرع من الحرب العالمية الثانية - تاريخ فن...

Частина серії проФілософіяLeft to right: Plato, Kant, Nietzsche, Buddha, Confucius, AverroesПлатонКантНіцшеБуддаКонфуційАверроес Філософи Епістемологи Естетики Етики Логіки Метафізики Соціально-політичні філософи Традиції Аналітична Арістотелівська Африканська Близькосхідна іранська Буддій�...

 

County in North Carolina, United States Not to be confused with Washington, North Carolina or Washington District, North Carolina. County in North CarolinaWashington CountyCountyWashington County Courthouse SealLogoNickname: Bear-OlinaMotto(s): Where traffic ends and adventure begins.Location within the U.S. state of North CarolinaNorth Carolina's location within the U.S.Coordinates: 35°50′N 76°34′W / 35.84°N 76.57°W / 35.84; -76.57Country United...

 

この記事は広告・宣伝活動のような記述内容になっています。ウィキペディアの方針に沿った中立的な観点の記述内容に、この記事を修正してください。露骨な広告宣伝活動には{{即時削除/全般4}}を使用して、即時削除の対象とすることができます。(2022年8月) このページのノートに、このページに関する議論があります。議論の要約:Template:宣伝によ...

Legal power to stop an official action, usually enactment of legislation For other uses, see Veto (disambiguation). US President Ronald Reagan signing a veto of a bill. A veto is a legal power to unilaterally stop an official action. In the most typical case, a president or monarch vetoes a bill to stop it from becoming law. In many countries, veto powers are established in the country's constitution. Veto powers are also found at other levels of government, such as in state, provincial or lo...

 

Cricket ground Magdalen GroundGround informationLocationOxford, OxfordshireCoordinates51°44′37″N 1°13′46″W / 51.7435°N 1.2295°W / 51.7435; -1.2295Establishment1829OwnerUniversity of OxfordTeam information Oxford University (1829–1912)As of 14 March 2013Source: Ground profile The Magdalen Ground (also known as the Old Magdalen Ground) was a cricket ground in Oxford, England. The ground was owned by the University of Oxford and used by Magdalen College, a c...

 

كنيسة الجُبيل آثار الكنيسة تقديم البلد السعودية مدينة الجبيل إحداثيات 26°56′15″N 49°39′23″E / 26.93743889°N 49.65647222°E / 26.93743889; 49.65647222   نوع كنيسة أثرية تاريخ البناء القرن الرابع الميلادي الموقع الجغرافي تعديل مصدري - تعديل   كنيسة الجبيل هي كنيسة أثرية اكتشفت في شمال ...

لجنة الفصل في منارعات الأوراق المالية البلد السعودية  المقر الرئيسي  السعودية تاريخ التأسيس 1424هـ اللغات الرسمية العربية الرئيس سعود بن عبد الرحمن الشمري تعديل مصدري - تعديل   لجنة الفصل في منازعات الأوراق المالية (السعودية) لجنة تختص بالفصل في المنازعات المالية، م...

 

Antamanide Identifiers CAS Number 16898-32-1 Y 3D model (JSmol) Interactive image ChemSpider 2300791 Y ECHA InfoCard 100.037.203 PubChem CID 9876840 CompTox Dashboard (EPA) DTXSID80903964 InChI InChI=1S/C64H78N10O10/c1-40(2)54-64(84)74-35-19-31-53(74)63(83)71-32-16-28-50(71)59(79)65-41(3)55(75)66-46(36-42-20-8-4-9-21-42)57(77)69-49(39-45-26-14-7-15-27-45)61(81)73-34-18-30-52(73)62(82)72-33-17-29-51(72)60(80)68-47(37-43-22-10-5-11-23-43)56(76)67-48(58(78)70-54)38-44-24-12-6-13-25-44...

 

Railway station in Pyongyang, North Korea Sŏp'o서포Korean nameHangul서포역Hanja西浦驛Revised RomanizationSeopo-yeokMcCune–ReischauerSŏp'o-yŏk General informationLocationSŏp'o-dong,Hyongjesan-guyŏk,P'yŏngyangNorth KoreaOwned byKorean State RailwayHistoryOpened1 April 1908ElectrifiedyesServices Preceding station Korean State Railway Following station West P'yŏngyangtowards P'yŏngyang P'yŏngra Line Kallitowards Rajin Kallitowards Dandong (China) P'yŏngŭi Line West P'yŏngyan...

Artikel ini perlu diwikifikasi agar memenuhi standar kualitas Wikipedia. Anda dapat memberikan bantuan berupa penambahan pranala dalam, atau dengan merapikan tata letak dari artikel ini. Untuk keterangan lebih lanjut, klik [tampil] di bagian kanan. Mengganti markah HTML dengan markah wiki bila dimungkinkan. Tambahkan pranala wiki. Bila dirasa perlu, buatlah pautan ke artikel wiki lainnya dengan cara menambahkan [[ dan ]] pada kata yang bersangkutan (lihat WP:LINK untuk keterangan lebih lanjut...

 

This article is about the women's football team. For the men's football team, see Great Britain Olympic football team. Great BritainAssociationThe FACaptainSteph HoughtonSophie IngleKim Little(2020)[1]Most capsKim Little (9)Jill Scott (9)Top scorerEllen White (6)FIFA codeGBR First colours Second colours First international Great Britain 0–0 Sweden (Middlesbrough, United Kingdom; 20 July 2012)Biggest win Great Britain 3–0 Cameroon (Cardiff, United Kingdom; 28 July 2012)Biggest def...