בדף הזה מוסבר על ההגדרה של סוג הבנייה SLSA V1.0 ב-Google Builder.
פרמטרים חיצוניים
בטבלה הבאה מוצגים סוגי הפרמטרים החיצוניים שאפשר להשתמש בהם בהגדרות של Workflow PipelineRun ו-Workflow TaskRun. אלא אם צוין אחרת, כל הפרמטרים נדרשים.
| שדה | סוג | פרטים |
|---|---|---|
|
runSpec |
אובייקט |
|
|
buildConfigSource |
אובייקט |
מפרט PipelineRun
| שדה | סוג | פרטים |
|---|---|---|
|
pipelineRef/taskRef |
אובייקט |
המקום שממנו נקרא pipelineSpec/taskSpec. השדה הזה מאוכלס רק אם pipelineSpec הופנה ממקור מרוחק. ברירת מחדל: |
|
pipelineSpec/taskSpec |
אובייקט |
מפרט של צינור או משימה מוטבע, ולא מאוחזר ממקור מרוחק באמצעות pipelineRef/taskRef. [אופציונלי]. |
|
params |
[object] |
מיפוי של שמות וערכים של פרמטרים שסופקו ל-Pipeline. הערכים יכולים להיות מסוג מחרוזת, מערך או אובייקט. ברירת מחדל: הערה: במקרה של תהליך עבודה מופעל, השדה הזה יכיל גם כמה פרמטרים שמסופקים על ידי מערכת ההפעלה של Cloud Build, בנוסף לפרמטרים שהוגדרו על ידי המשתמש בהגדרת תהליך העבודה. |
|
סביבות עבודה |
[object] |
ב-Workspaces יש קבוצה של קשרי Workspace שצריכים להיות זהים לשמות שהוצהרו בצינור. ברירת מחדל: |
|
timeouts/timeout |
אובייקט |
הזמן שאחריו צינור עיבוד הנתונים יפסיק לפעול. אפשר להגדיר פסק זמן ל-Pipeline, Tasks ו-Finally. הם קשורים באמצעות הנוסחה Timeouts.pipeline Timeouts.tasks + Timeouts.finally. |
מפרט buildConfigSource
| שדה | סוג | פרטים |
|---|---|---|
|
ref |
אובייקט |
יכול להיות אחד מהערכים הבאים:
|
|
מאגר |
מחרוזת |
מזהה ה-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 הוא אחד מהערכים הבאים:
|
| מטא-נתונים | מטא-נתונים נוספים על הביצוע הספציפי הזה של הבנייה.
המשתנה invocationId מציג את כתובת ה-URL של הגרסה, לדוגמה:
https://cloudbuild.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/pipelineRuns/BUILD_ID.
השדות startedOn ו-finishedOn מכילים את חותמות הזמן של תחילת הבנייה וסיומה.
|
| byproducts | אובייקט results.מכיל את TaskRunResults שנוצרו על ידי PipelineRun. התוכן מקודד ב-Base64. |