בניית CICD לשילוב

במדריך הזה נסביר איך להשתמש במשתני תצורה (בגרסת Preview) כדי להגדיר קידום אוטומטי של שילוב בין סביבות שונות בפרויקטים שונים ב-Google Cloud.

סקירה כללית

במדריך הזה נלמד איך להשתמש במשתנה הגדרה כדי להפוך את הפריסות של Application Integration לאוטומטיות, באמצעות שילוב לדוגמה. בתרשים הזה מוצג תהליך שילוב לדוגמה שבו מתבצעת קריאה ל-API והתגובה מ-API מתפרסמת בנושא ב-Pub/Sub. הדוגמה הזו נועדה להמחיש את השימוש במשימות Call REST Endpoint ו-Connectors. אפשר לאחסן את שילוב הדוגמה במאגרי GitHub שתואמים לסביבות ולפרויקטים השונים. Google Cloud

מטרות

במדריך הזה מוסבר איך לבצע את הפעולות הבאות בשילוב:

  • יוצרים שילוב.
  • יוצרים משתני הגדרה ומשתמשים בהם בשילוב.
  • קידום השילוב לסביבה אחרת.

עלויות

במדריך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:

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

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

לפני שמתחילים

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Secret Manager API, Connectors API APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. Create a service account:

    1. Ensure that you have the Create Service Accounts IAM role (roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles.
    2. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    3. Select your project.
    4. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    5. Click Create and continue.
    6. Grant the Pub/Sub Publisher (roles/pubsub.publisher) role to the service account.

      To grant the role, find the Select a role list, then select Pub/Sub Publisher (roles/pubsub.publisher).

    7. Click Continue.
    8. Click Done to finish creating the service account.

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. Verify that billing is enabled for your Google Cloud project.

  8. Enable the Secret Manager API, Connectors API APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  9. Create a service account:

    1. Ensure that you have the Create Service Accounts IAM role (roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles.
    2. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    3. Select your project.
    4. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    5. Click Create and continue.
    6. Grant the Pub/Sub Publisher (roles/pubsub.publisher) role to the service account.

      To grant the role, find the Select a role list, then select Pub/Sub Publisher (roles/pubsub.publisher).

    7. Click Continue.
    8. Click Done to finish creating the service account.

יוצרים נושא Pub/Sub

  1. נכנסים לדף Topics של Pub/Sub במסוף Google Cloud .

    לדף Topics

  2. לוחצים על יצירת נושא.

  3. בשדה Topic ID (מזהה הנושא), מזינים מזהה לנושא. מידע נוסף על מתן שמות לנושאים זמין במאמר הנחיות למתן שמות לנושא, למינוי, לסכימה או לתמונת מצב .

  4. משאירים את האפשרות הוספת מינוי שמוגדר כברירת מחדל.

  5. אל תבחרו באפשרויות האחרות.

  6. לוחצים על יצירת נושא.

הגדרת מחבר Pub/Sub

  1. במסוףGoogle Cloud , עוברים לדף Integration Connectors > Connections ובוחרים או יוצרים פרויקט Google Cloud .

    כניסה לדף Connections

  2. לוחצים על + יצירת חדש כדי לפתוח את הדף יצירת חיבור.
  3. בקטע מיקום, בוחרים את המיקום של החיבור.
    1. אזור: בוחרים מיקום מהרשימה הנפתחת.

      רשימה של כל האזורים הנתמכים מופיעה במאמר מיקומים.

    2. לוחצים על הבא.
  4. בקטע פרטי החיבור, ממלאים את הפרטים הבאים:
    1. Connector (מחבר): בוחרים באפשרות Pub/Sub מהרשימה הנפתחת של המחברים הזמינים.
    2. גרסת כלי החיבור: בוחרים את גרסת כלי החיבור מהרשימה הנפתחת של הגרסאות הזמינות.
    3. בשדה שם החיבור, מזינים pub-sub-connector.
    4. חשבון שירות: בוחרים חשבון שירות שיש לו את התפקידים הנדרשים.
    5. Project ID: Google Cloud מזהה הפרויקט שבו נמצא מופע Pub/Sub.
    6. מזהה הנושא: מזינים את השם של נושא Pub/Sub.
    7. לוחצים על הבא.
  5. בקטע אימות, לוחצים על הבא.
  6. בדיקה: בודקים את פרטי החיבור והאימות.
  7. לוחצים על יצירה.

יצירת שילוב חדש

אחרי הגדרת Application Integration, אפשר ליצור שילוב חדש:

  1. במסוף Google Cloud, עוברים לדף Application Integration.

    מעבר אל Application Integration

  2. בתפריט הניווט שמימין, לוחצים על שילובים כדי לפתוח את הדף שילובים.
  3. לוחצים על יצירת שילוב ומזינים את הפרטים הבאים בדף יצירת שילוב:
    1. שם השילוב: מזינים שם לשילוב. לדוגמה, build-cicd.
    2. תיאור: אפשר להזין תיאור לשילוב. לדוגמה, Demo integration created for CICD tutorial.
    3. אזור: בוחרים את האזור us-central1 מתוך רשימת האזורים שהוקצו. אם האזור שרוצים לבחור לא הוקצה, אפשר לעיין במאמר בנושא הקצאת אזור חדש. לרשימה של אזורים נתמכים, ראה מיקומי Application Integration.
    4. חשבון שירות: השדה הזה מופיע אם הפעלתם את התכונה 'שליטה במדיניות' באזור שלכם. בוחרים את חשבון השירות לאינטגרציה. במאמר עריכת אזור מוסבר איך להפעיל את אמצעי הבקרה באזור.
    5. לוחצים על יצירה. ייפתח דף העריכה של השילוב, שבו תוכלו להוסיף את המשימות ואת הטריגרים כדי ליצור את השילוב.

יצירת רצף פעולות לשילוב

הוספת טריגר API וקריאה לנקודת קצה של REST

כדי להוסיף טריגר מסוג API trigger, מבצעים את השלבים הבאים:
  1. נכנסים לדף Application Integration במסוף Google Cloud .

    מעבר אל Application Integration

  2. בתפריט הניווט, לוחצים על Integrations (שילובים).

    מוצגת רשימה של כל השילובים שזמינים בפרויקט Google Cloud בדף Integrations List.

  3. בוחרים את השילוב של build-cicd.

    השילוב ייפתח בכלי לעריכת שילובים.

  4. בסרגל הניווט של כלי השילובים, לוחצים על Triggers > API Trigger (טריגר API) כדי להוסיף את הטריגר.
  5. בסרגל הניווט של כלי השילוב, לוחצים על Tasks > Call REST Endpoint (משימות > קריאה לנקודת קצה של REST) כדי להוסיף את המשימה.
  6. מוסיפים קשר קצה מרכיב API trigger לרכיב Call REST Endpoint. כדי לעשות זאת, מעבירים את העכבר מעל נקודת בקרה ברכיב API trigger, ואז לוחצים וגוררים קו לנקודת בקרה ברכיב המשימה Call REST Endpoint.

יצירת משתני הגדרה

כדי ליצור משתני הגדרה:
  1. בסרגל הניווט של כלי עריכת השילוב, לוחצים על (החלפת חלונית) כדי להציג את החלונית משתנים.
  2. לוחצים על +יצירה.
  3. בחלונית Create Variable (יצירת משתנה):
    1. בשדה Name (שם), מזינים url.

      ‫Application Integration מוסיף את הקידומת `CONFIG_ למשתני ההגדרה. אם רוצים להוסיף את משתנה ההגדרה לשילוב באמצעות ממשקי API, צריך להשתמש בפורמט הבא למשתני הגדרה: `CONFIG_CONFIG_VARIABLE_NAME`. מידע על הורדה והעלאה של אינטגרציות זמין במאמר העלאה והורדה של אינטגרציות.

    2. בקטע Variable type (סוג המשתנה), בוחרים באפשרות Config Variable (משתנה הגדרה).
    3. בקטע סוג הנתונים, בוחרים באפשרות מחרוזת.
    4. לוחצים על יצירה.

      משתנה ההגדרה מופיע בחלונית משתנים.

  4. חוזרים על שלבים 2 ו-3 כדי להוסיף את משתנה ההגדרה הבא:
    • שם: connection_name
    • סוג המשתנה: Config Variable
    • סוג הנתונים: String

הוספה והגדרה של נקודת קצה של Call REST

כדי ליצור משתנה הגדרה:
  1. בכלי לעריכת שילובים, לוחצים על המשימה Call REST Endpoint (התקשרות לנקודת קצה של REST) כדי לפתוח את חלונית הגדרת המשימה. לאחר מכן, מבצעים את הפעולות הבאות:
    1. מרחיבים את הקטע Task input.
    2. בקטע כתובת בסיסית של נקודת קצה, לוחצים על משתנה ומוסיפים $`CONFIG_url`$.

הוספה והגדרה של משימת מחברים

  1. בסרגל הניווט של כלי העריכה של השילובים, לוחצים על משימה > מחברים.
  2. לוחצים על Configure Connectors (הגדרת מחברים).
  3. מהרשימה Region, בוחרים את האזור שבו יצרתם את מחבר Pub/Sub.
  4. בשדה Connection, בוחרים את Pub/Sub connector שיצרתם בשלב הקודם.
  5. בקטע סוג, בוחרים באפשרות פעולות.
  6. בקטע Set entities/actions, בוחרים באפשרות publishMessage בשדה Actions.
  7. בקטע ערך ברירת מחדל, מוסיפים את ערך ברירת המחדל למשתנה ההגדרה.
  8. לוחצים על יצירה.
  9. בחלונית ההגדרות של המשימה Connectors (מחברים), מרחיבים את הקטע Connection details (פרטי החיבור) כדי לעדכן את השדה הבא:
    1. בשדה שם החיבור, לוחצים על משתנה ובוחרים באפשרות $`CONFIG_connection_name`$.

הוספת משימת מיפוי נתונים

  1. בסרגל הניווט של כלי העריכה של השילוב, לוחצים על משימה > מיפוי נתונים.
  2. מוסיפים חיבור קצה מהרכיב Call REST Endpoint לרכיב Data Mapping. כדי לעשות זאת, מעבירים את העכבר מעל נקודת בקרה ברכיב Call REST Endpoint, ואז לוחצים וגוררים קו לנקודת בקרה ברכיב המשימה Data Mapping.
  3. מוסיפים עוד חיבור קצה מהרכיב מיפוי נתונים לרכיב מחברים. כדי לעשות זאת, מעבירים את העכבר מעל נקודת בקרה ברכיב מיפוי נתונים, ואז לוחצים וגוררים קו לנקודת בקרה ברכיב המשימה מחברים.
  4. בחלונית ההגדרות של המשימה 'מיפוי נתונים', לוחצים על פתיחת הכלי לעריכת מיפוי נתונים.
  5. ממפים את משתנה הפלט של המשימה Call REST Endpoint (התקשרות לנקודת קצה של REST) למשתנה הקלט של המשימה Connectors (מחברים).

פרסום השילוב

כדי לפרסם את השילוב, פועלים לפי השלבים הבאים:
  1. כדי לפרסם את השילוב, לוחצים על פרסום בסרגל הכלים של כלי העריכה של השילוב.

    מופיעה תיבת הדו-שיח Publish integration (פרסום השילוב).

  2. בתיבת הדו-שיח פרסום השילוב, מזינים את הערך של משתני ההגדרה הבאים:
    1. url: מזינים את השם של כתובת ה-URL של נקודת הקצה.
    2. connection_name: מזינים את השם של מחבר Pub/Sub שיצרתם בשלב הקודם.
  3. לוחצים על פרסום.
  4. אחרי שהשילוב יפורסם בהצלחה, תוכלו לראות ולבדוק את יומני הביצוע של השילוב שפורסם. כדי לראות את היומנים, לוחצים על Logs (יומנים) בסרגל הכלים של עורך השילוב.

קידום שילוב בין סביבות

כדי לקדם את השילוב שלכם בסביבות שונות, אתם יכולים להשתמש בintegrationcli כלי קוד פתוח שמאפשר לכם ליצור אינטראקציה עם ממשקי API של Application Integration ועם ממשקי API של Integration Connectors. הכלי הזה מאפשר לכם לנהל ישויות שילוב כמו שילובים, הגדרות אימות וכו'. מידע על יצירת ה-scaffold לשילוב ועל החלת השינויים שנוצרו על ידי ה-scaffold זמין במאמר מבוא ל-integrationcli בבלוג הקהילה.

אפשר גם לקדם שינויים בסביבות שונות על ידי הגדרת צינורות עיבוד נתונים של DevOps, למשל באמצעות Jenkins,‏ GitLab,‏ Cloud Build וכו'. מידע נוסף זמין במאמר שילוב עם Cloud Build.

אם אתם לא רוצים להשתמש ב-integrationcli, אתם יכולים להוריד את השילוב ולהעלות אותו לפרויקט חדש באופן ידני. תצטרכו ליצור את המחברים בפרויקט החדש באופן ידני, כי כרגע אי אפשר להוריד אותם. כשמפרסמים את השילוב בסביבה החדשה, אפשר להזין ערכים למשתני ההגדרה ב-Application Integration.

המאמרים הבאים