בנייה ופריסה של פרוייקטי מסד נתונים ב- GitHub Actions וב- Azure DevOps
מכיוון שמסדי נתונים הם מרכיבים אינטגרליים של פתרונות גדולים יותר, מפתחים חייבים למצוא דרכים יעילות לנהל פיתוח מסדי נתונים בדומה לאופן שבו הם מטפלים בקוד יישום. משימה זו מאתגרת במיוחד מכיוון שפיתוח מסד נתונים שזור באופן הדוק עם הנתונים המאוחסנים במסד הנתונים, ומוסיף שכבות של מורכבות.
למרבה המזל, כלים כמו GitHub Actions ו - Azure DevOps Services מציעים פתרונות חזקים לניהול מורכבויות אלה. שתי הפלטפורמות תומכות בפריסת DACPAC, מה שמפשט את תהליך הפריסה של שינויים במסד הנתונים על ידי אריזתם בחבילת רכיב יישום (DAC) ברמת נתונים . גישה זו לא רק מבטיחה עקביות ואמינות בפריסות מסדי נתונים, אלא גם משתלבת בצורה חלקה עם צינורות אינטגרציה רציפה ופריסה רציפה (CI/CD), מה שמקל על מפתחים לתחזק ולעדכן מסדי נתונים לצד קוד היישום שלהם.
הדוגמאות ביחידה זו מניחות שכבר יש לך:
- מנוי Azure עם הרשאות ליצירה וניהול של משאבים.
- Visual Studio Code מותקן עם הסיומות הבאות:
- חשבון GitHub עם מאגר GitHub פרטי שנוצר כבעלים.
- מסד נתונים של Azure SQL שתצורתו נקבעה כאשר אפשר גישה לשירותי Azure זמינה. התחלה מהירה: צור מסד נתונים יחיד של Azure SQL Database.
שימוש בפעולות GitHub כדי להתחבר למסד הנתונים של Azure SQL
באפשרותך להשתמש בפעולות GitHub כדי להתחבר למסד הנתונים של Azure SQL ולפרסם פרוייקטי SQL באמצעות קבצי DACPAC.
השימוש בפעולות GitHub כדי להתחבר למסד הנתונים של Azure SQL כולל שלושה שלבים עיקריים.
- שכפל את מאגר GitHub ב- Visual Studio Code.
- צור פרוייקט מסד נתונים ב- Visual Studio Code.
- הגדר אינטגרציה רציפה (CI) עם פעולות GitHub.
שכפל את מאגר GitHub
אתה יכול לשכפל את מאגר GitHub שיצרת על ידי ביצוע השלבים הבאים.
- ב- Visual Studio Code, בחר הצג>לוח פקודות.
- בלוח הפקודות, הקלד Git: Clone ולאחר מכן בחר בו.
- הזן את כתובת ה-URL של המאגר ובחר שכפול.
- בחר או צור תיקייה לאחסון קבצי המאגר שלך.
צור פרויקט מסד נתונים ב- Visual Studio Code
ב- Visual Studio Code, הגדר פרוייקט מסד נתונים חדש ושמור את הפרוייקט באותה תיקיה שבה שכפלת את מאגר GitHub.
לקבלת מידע נוסף אודות יצירת פרוייקט מסד נתונים ב- Visual Studio Code, ראה תחילת העבודה עם הרחבת פרוייקטים של מסד נתונים של SQL.
לאחר שיצרת את פרוייקט מסד הנתונים שלך, הוסף קוד כדי לשנות את מסד הנתונים של Azure SQL. לאחר מכן החזר אותם למאגר GitHub שלך כדי להבטיח שהם נמצאים במעקב ומשולבים במערכת בקרת הגרסאות שלך.
הגדרת אינטגרציה רציפה עם פעולות GitHub
כדי להגדיר אינטגרציות רציפות (CI) עם פעולות GitHub, צור .yml קובץ בנתיב /.github/workflows/ במאגר שלך. הקובץ .yml כולל שני חלקים.
- הגדרת אימות
- יצירת זרימת עבודה של GitHub
הגדרת אימות קובעת את תצורת סודות GitHub, והמקטע השני יוצר זרימת עבודה של פעולות GitHub.
אימות
ראשית עליך ליצור מנהל שירות עם הפקודה az ad sp create-for-rbac ב- Azure CLI. השתמש ב- Azure Cloud Shell בפורטל Azure כדי להפעיל את קוד Azure CLI הבא. החלף את מצייני המיקום במזהה המנוי, בשם קבוצת המשאבים ובשם היישום שלך.
az ad sp create-for-rbac --name "myML" --role contributor --scopes /subscriptions/<subscription-id>/resourceGroups/<group-name> --json-auth
הפלט הוא אובייקט JSON עם אישורי הקצאת התפקידים. שמור את הקובץ כפי שהוא נשמר כסוד GitHub.
שנית, צור את מחרוזת חיבור SQL. באפשרותך להעתיק זאת מפורטל Azure. ממסד הנתונים של Azure SQL, פתח אתמחרוזות חיבורהגדרות>.
העתק את מחרוזת החיבור ADO.NET ולאחר מכן החלף את ערכי מצייני המיקום עבור מסד הנתונים והסיסמה שלך. מחרוזת החיבור נראית כך:
Server=tcp:my-sql-server.database.windows.net,1433;Initial Catalog={your-database};Persist Security Info=False;User ID={admin-name};Password={your-password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
מחרוזת חיבור זו תאוחסן גם כסוד GitHub.
במאגר GitHub שלך, אתה מוסיף סודות בהגדרות>אבטחה ->סודות>ומשתנים פעולות. צור סודות חדשים בשם AZURE_CREDENTIALS כדי לאחסן את טקסט ה- JSON ולאחסן AZURE_SQL_CONNECTION_STRING את מחרוזת החיבור.
כעת אתה מוכן ליצור את זרימת העבודה שלך.
הערה
בסביבת ייצור, שקול להשתמש בזהויות מנוהלות עבור פעולת GitHub שלך כדי לגשת למסד הנתונים במקום אימות SQL. לקבלת מידע נוסף, ראה זהויות מנוהלות ב- Microsoft Entra עבור Azure SQL.
יצירת זרימת עבודה של GitHub
במאגר GitHub שלך, בחר פעולותוהגדר זרימת עבודה בעצמך. קובץ main.yml ריק נפתח.
כעת תוכל לבנות את קובץ ה-YAML שלך. לקבלת תחביר והנחיות מפורטים, עיין בזרימת העבודה עבור פעולות GitHub. לדוגמה, התג name: מציין את שם זרימת העבודה, בעוד שהערך on קובע את האירועים המפעילים את זרימת העבודה לפעול.
עצה
ההתחלה המהירה עבור פעולות GitHub מאפשרת לך להתחיל לעבוד עם תכונות נוספות של פעולות GitHub.
פריסת Azure SQL Database עם Azure DevOps Services
באפשרותך גם לפרוס עדכונים למסד נתונים של Azure SQL באמצעות Azure DevOps Services. כדי להתחיל, תזדקק לחשבון Azure DevOps Services, מערכת בקרת גירסאות (כגון Azure Repos או GitHub) ו- Visual Studio Code עם הרחבת SQL Database מותקנת.
שירותי Azure DevOps כוללים קווי צינור של Azure, שבונים, בודקים ופורסים קוד באופן אוטומטי. באמצעות קווי צינור של Azure, באפשרותך לתמוך בשילוב רציף ובפריסה רציפה (CI/CD) של שינויים במסד הנתונים של Azure SQL בתוך הפרוייקט שלך. שילוב זה מבטיח שהשינויים במסד הנתונים שלך יוחלו באופן עקבי ומהימן.
Azure Pipelines משולבים בצורה חלקה עם מערכות בקרת גרסאות שונות, כולל GitHub ו- Azure Repos. Azure Pipelines מאפשר לך להפעיל קבצי Script של SQL כחלק מקו צינור, באמצעות קבצי Script של Azure PowerShell כדי ליצור ולהסיר כללי חומת אש ב- Azure, ולהבטיח ניהול מסד נתונים מאובטח ויעיל.
לקבלת מידע נוסף אודות אפשרויות הפריסה של Azure SQL Database, ראה פריסת מסד נתונים של Azure SQL בתיעוד עבור Azure DevOps Services.