שימוש ב-builders שנוצרו על ידי הקהילה וב-builders בהתאמה אישית

בדף הזה מוסבר איך להשתמש ב-Cloud Build בכלים ליצירת תמונות שנוצרו על ידי הקהילה ובכלים ליצירת תמונות בהתאמה אישית. קהילת המפתחים של Cloud Build מספקת כלי build בקוד פתוח שבהם אפשר להשתמש כדי להריץ את המשימות. אם המשימה שאתם רוצים לבצע דורשת יכולות שלא מסופקות על ידי תמונה קיימת, אתם יכולים ליצור תמונה מותאמת אישית משלכם ולהשתמש בה בשלב build. מידע על הסוגים השונים של כלי בנייה זמין במאמר Cloud Builders.

אם אתם חדשים ב-Cloud Build, כדאי קודם לקרוא את המדריכים למתחילים ואת הסקירה הכללית על הגדרת Build.

שימוש בכלי בנייה שנוצרו על ידי הקהילה

קובצי אימג' מוכנים מראש לא זמינים לבוני קהילה. כדי להשתמש בבוני קהילה בקובץ תצורת Cloud Build, צריך קודם ליצור את קובץ האימג' ולהעביר אותו בדחיפה ל-Artifact Registry בפרויקט.

כדי להשתמש ב-builder שנוצר על ידי הקהילה:

  1. בנייה ודחיפה של הכלי לבנייה:

    1. עוברים לספריית השורש של הפרויקט.

    2. משכפלים את המאגר cloud-builders-community:

      git clone https://github.com/GoogleCloudPlatform/cloud-builders-community.git
      
    3. עוברים אל קובץ האימג' של ה-builder שרוצים להשתמש בו, כאשר builder-name הוא הספרייה שמכילה את ה-builder:

      cd cloud-builders-community/builder-name
      
    4. שולחים את ה-builder לפרויקט:

      gcloud builds submit .
      
    5. מנווטים חזרה לספריית השורש של הפרויקט:

      cd ../..
      
    6. מסירים את המאגר מספריית הבסיס:

      rm -rf cloud-builders-community/
      
  2. בקובץ ההגדרות של Cloud Build, משתמשים ב-builder בשלב build:

    YAML

    steps:
    - name: 'gcr.io/project-id/builder-name'
      args: ['arg1', 'arg2', ...]
    ...
    

    JSON

    {
      "steps": [
      {
        "name": "gcr.io/project-id/builder-name",
        "args": [
          "arg1",
          "arg2",
          ...
        ]
        ...
      }
      ]
    }
    
  3. משתמשים בקובץ התצורה של ה-build כדי להפעיל את ה-build באופן ידני או להפעיל את ה-build באמצעות טריגרים.

דוגמאות לשימוש בבוני תמונות שנוצרו על ידי הקהילה זמינות במאמרים פריסה ב-Firebase ויצירת תמונות של מכונות וירטואליות באמצעות Packer.

יצירת כלי בנייה בהתאמה אישית

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

דוגמאות למקרים שבהם כדאי להשתמש בקובץ אימג' מותאם אישית של ה-builder:

  • הורדה של קוד מקור או חבילות ממיקומים חיצוניים.
  • שימוש בשרשרת כלים חיצונית.
  • שמירת ספריות נדרשות במטמון.
  • קוד המקור עובר build מראש (עם Cloud Build שאחראי רק לאריזה פוטנציאלית של ה-build בקובץ אימג').

כמו כל כלי אחר ליצירת קהלים, כלי ליצירת קהלים בהתאמה אישית פועל כשהמקור מוטמע ב-/workspace, והוא מופעל עם ספריית עבודה ב-/workspace. כל הקבצים שנותרו ב-/workspace אחרי שלב מסוים בבנייה זמינים לשלבים אחרים בבנייה.

הכלי לבנייה בהתאמה אישית יכול לשלוח אל מאגר או למשוך ממנו נתונים ב-Artifact Registry (שמתארח בכתובת gcr.io/$PROJECT-NAME/), שלחשבון השירות של הבנייה יש גישה אליו.

בשלבים הבאים מוסבר איך ליצור ולהשתמש בכלי בנייה בהתאמה אישית, עם הדוגמה Dockerfile:

  1. יוצרים קובץ אימג' ל-builder בהתאמה אישית:

    1. יוצרים את ה-Dockerfile עבור ה-builder בהתאמה אישית. בדוגמה הבאה אפשר לראות איך משתמשים ב-Dockerfile:

        FROM alpine
        RUN apk add curl
        CMD curl https://httpbin.org/ip -s > myip.txt; echo "*** My IP is: $(cat myip.txt)"
      
    2. יוצרים את ה-builder המותאם אישית ומעבירים אותו אל Artifact Registry בפרויקט, ומחליפים את הערכים של project-id ושל image-name:

        gcloud builds submit --tag gcr.io/project-id/image-name
      
  2. כדי להשתמש בקובץ אימג' של builder בהתאמה אישית ב-Cloud Build, מציינים את ה-builder בשדה name של שלב build:

    YAML

        steps:
        - name: 'gcr.io/project-id/image-name'
          id: Determine IP of this build worker
    

    JSON

        {
          "steps": [
          {
            "name": "gcr.io/project-id/image-name",
            "id": "Determine IP of this build worker"
          }
          ]
        }
    
  3. משתמשים בקובץ ההגדרות של ה-build כדי להפעיל את ה-build באופן ידני או להפעיל את ה-build באמצעות טריגרים.

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