בדף הזה מפורטות אסטרטגיות לפתרון בעיות וגם פתרונות לכמה הודעות שגיאה נפוצות שאולי יוצגו לכם כשאתם מריצים בנייה.
האם בדקת את יומני ה-build?
כדי לקבל מידע נוסף על שגיאת ה-build, אפשר להשתמש ביומנים של Logging או ביומני build של Cloud Storage. אפשר לראות את היומנים שנכתבו אל stdout או אל stderr באמצעות מסוף Google Cloud ו-CLI של gcloud.
בנייה ידנית נכשלת כי למשתמש אין גישה ליומני בנייה
מוצגת השגיאה הבאה כשמנסים להפעיל build באופן ידני:
AccessDeniedAccess denied. [EMAIL_ADDRESS] does not have storage.objects.get access to the Google Cloud Storage object.
השגיאה הזו מוצגת כי כדי להריץ בנייה ידנית ולהשתמש בדלי ברירת המחדל של יומני Cloud Storage, המשתמשים ב-Cloud Build צריכים לקבל את תפקיד Project Viewer ב-IAM בנוסף לתפקיד Cloud Build Editor. כדי לטפל בשגיאה הזו, אפשר לבצע אחת מהפעולות הבאות:
משתמשים בדלי ברירת המחדל של היומנים ומעניקים למשתמש שמריץ את ה-build את התפקידים Project Viewer ו-Cloud Build Editor. הוראות להענקת ההרשאה הזו מופיעות במאמר הגדרת גישה למשאבי Cloud Build.
יוצרים קטגוריה משלכם ב-Cloud Storage לאחסון יומנים. הוראות מפורטות זמינות במאמר אחסון יומני בנייה בקטגוריה שנוצרה על ידי משתמש.
הגרסאות build נכשלות בגלל הרשאה חסרה של iam.serviceAccounts.actAs
השגיאה הבאה מופיעה כשמנסים לפרוס build באמצעות שירות מנוהל כמו Cloud Run או App Engine:
Missing necessary permission iam.serviceAccounts.actAs for [USER] on the service account [SERVICE ACCOUNT]
כדי לפתור את השגיאה הזו, צריך להגדיר את חשבון השירות שצוין ב-Cloud Build או את חשבון השירות שמוגדר כברירת מחדל ב-Cloud Build כך שיתבצע אימות לחשבון השירות של השירות המנוהל שבו אתם משתמשים לבנייה. מידע נוסף על המשימה הזו זמין במאמר הגדרת התחזות לחשבון שירות של Cloud Build בשביל שירותים מנוהלים.
מידע נוסף על חשבונות שירות והרשאות זמין בנושאים הבאים:
- הגדרת חשבונות שירות שצוינו על ידי המשתמש
- חשבון השירות שמוגדר כברירת מחדל ב-Cloud Build
- הסבר על תפקידי IAM
- מתן הרשאות לחשבון השירות שמוגדר כברירת מחדל ב-Cloud Build
שגיאת דחיית הרשאה כשפורסים ב-Cloud Run Functions
כשמנסים להשתמש בפונקציות Cloud Run, מופיעה השגיאה הבאה:
ResponseError: status=[403], code=[Ok], message=[Permission 'cloudfunctions.functions.get' denied]
כדי לפתור את השגיאה הזו, צריך להעניק לחשבון השירות של ה-build את התפקיד 'מפתח פונקציות של Cloud Run'.
הפעלת ה-trigger לבנייה נכשלת בגלל הרשאה חסרה cloudbuild.builds.create
כשמריצים טריגר לפיתוח גרסת Build, מופיעה שגיאה שדומה לשגיאה הבאה: