סוג ה-build: Google Builder

בדף הזה מוסבר על ההגדרה של סוג הבנייה SLSA V1.0 ב-Google Builder.

פרמטרים חיצוניים

בטבלה הבאה מוצגים סוגי הפרמטרים החיצוניים שאפשר להשתמש בהם בהגדרות של Workflow PipelineRun ו-Workflow TaskRun. אלא אם צוין אחרת, כל הפרמטרים נדרשים.

שדה סוג פרטים

runSpec

אובייקט

המפרט המלא של PipelineRun.

buildConfigSource

אובייקט

המפרט המלא של buildConfigSource.

מפרט PipelineRun

שדה סוג פרטים

pipelineRef/taskRef

אובייקט

המקום שממנו נקרא pipelineSpec/taskSpec.

השדה הזה מאוכלס רק אם pipelineSpec הופנה ממקור מרוחק.

ברירת מחדל: null

pipelineSpec/taskSpec

אובייקט

מפרט של צינור או משימה מוטבע, ולא מאוחזר ממקור מרוחק באמצעות pipelineRef/taskRef.

[אופציונלי].

params

[object]

מיפוי של שמות וערכים של פרמטרים שסופקו ל-Pipeline. הערכים יכולים להיות מסוג מחרוזת, מערך או אובייקט.

ברירת מחדל: null

הערה: במקרה של תהליך עבודה מופעל, השדה הזה יכיל גם כמה פרמטרים שמסופקים על ידי מערכת ההפעלה של Cloud Build, בנוסף לפרמטרים שהוגדרו על ידי המשתמש בהגדרת תהליך העבודה.

סביבות עבודה

[object]

ב-Workspaces יש קבוצה של קשרי Workspace שצריכים להיות זהים לשמות שהוצהרו בצינור.

ברירת מחדל: null

timeouts/timeout

אובייקט

הזמן שאחריו צינור עיבוד הנתונים יפסיק לפעול. אפשר להגדיר פסק זמן ל-Pipeline, ‏ Tasks ו-Finally. הם קשורים באמצעות הנוסחה Timeouts.pipeline Timeouts.tasks + Timeouts.finally.

מפרט buildConfigSource

שדה סוג פרטים

ref

אובייקט

יכול להיות אחד מהערכים הבאים:

  • ההפניה ל-git. לדוגמה, ה-SHA של הקומיט: sha1:563f0...
  • תקציר התמונה. לדוגמה: sha256:91fbe...

מאגר

מחרוזת

מזהה ה-URI של מאגר Git או של מאגר התמונות

נתיב

מחרוזת

הנתיב במאגר git או שם המשאב בחבילת התמונות.

פרמטרים פנימיים

הפרמטרים הפנימיים מסופקים על ידי ה-builder לתהליך build.

שדה סוג פרטים
tekton-pipelines-feature-flags אובייקט דגלי תכונות של הגדרת Tekton שמשמשים לבנייה. הם מוגדרים על ידי הכלי ליצירת תמונות ושימושיים לשחזור.
systemParameters אובייקט רשימה של צמדים של שם וערך להחלפות ברירת מחדל של המערכת שסופקו על ידי GCB.

יחסי תלות שנפתרו

השדה resolvedDependencies חייב להכיל רשומות שמזהות את קובץ העזר שנפתר שמתאים ל-externalParameters.configRef. זוהי ההפניה ל-Pipeline, במקרה של מפרט PipelineRun, או ההפניה ל-Task, במקרה של מפרט TaskRun.

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

  • לצינורות (Pipelines) מרוחקים, משתמשים ב-name: pipeline.
  • למשימות מרחוק, משתמשים ב-name: pipelineTask.
  • אם ההפניה שנפתרה היא לשלב או לקובץ אימג' של קונטיינר משני (sidecar), השדה name הוא אופציונלי. במקרה של השדה digest, גם אם התמונה מפנה לתג, צריך לכלול את תקציר התמונה.
  • כדי להשתמש בארטיפקטים אחרים של קלט שמשמשים לבנייה, כמו קוד מקור, משתמשים ב-name: inputs/result. התוצאות של המשימה כוללות רמזים לגבי סוג הנתונים.

בדוגמה הבאה מפורטים כל סוגי התלויות שנפתרו:

"resolvedDependencies": [
  {
    "name": "pipeline",
    "uri": "git+https://github.com/octocat/hello-world.git",
    "digest": {"sha1": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d"},
  },
  {
  "name": "pipelineTask",
  "uri": "git+https://github.com/octocat/hello-world.git",
  "digest": {"sha1": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d"},
  },
  {
  "uri": "gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/git-init",
  "digest": {
    "sha256": "28ff94e63e4058afc3f15b4c11c08cf3b54fa91faa646a4bbac90380cd7158df"},
  },
  {
  "name": "inputs/result",
  "uri": "git+https://github.com/octocat/hello-world.git",
  "digest": {"sha1": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d"},
  }
]

RunDetails

שדה פרטים
builder מכיל שדה משנה id שמזהה את פלטפורמת ה-Build שהפעילה את הפעולה ואכלסה את המידע הזה. הוא מכיל גם את רמת SLSA. הערך הצפוי של id הוא אחד מהערכים הבאים:
  • https://cloudbuild.googleapis.com/GoogleBuilder. מזהה הבנייה הזה מציין בנייה ברמה SLSA L2.
  • https://cloudbuild.googleapis.com/GoogleIsolatedBuilder. מזהה ה-builder הזה מציין שזו גרסת SLSA L3.
מטא-נתונים מטא-נתונים נוספים על הביצוע הספציפי הזה של הבנייה. המשתנה invocationId מציג את כתובת ה-URL של הגרסה, לדוגמה: https://cloudbuild.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/pipelineRuns/BUILD_ID.
השדות startedOn ו-finishedOn מכילים את חותמות הזמן של תחילת הבנייה וסיומה.
byproducts אובייקט results.
מכיל את TaskRunResults שנוצרו על ידי PipelineRun. התוכן מקודד ב-Base64.