פיתוח ובדיקה של אפליקציות Java

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

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

שימוש בתמונה maven

אתם יכולים להגדיר את Cloud Build ליצירת אפליקציות Java באמצעות קובץ האימג' maven מ-Docker Hub.

כדי להריץ את המשימות בתמונה maven, מוסיפים שלב להגדרות ה-build עם השדות הבאים:

  • name: מגדירים את הערך של השדה הזה ל-maven או ל-maven:<tag>, כאשר התג מייצג את הגרסה. אם לא מציינים את תג האימג', Cloud Build משתמש באימג' latest כברירת מחדל.
  • entrypoint: הגדרת השדה הזה מבטלת את נקודת הכניסה שמוגדרת כברירת מחדל לתמונה שמפנים אליה בשדה name. מגדירים את הערך של השדה הזה ל-mvn כדי להפעיל את mvn כנקודת הכניסה של שלב ה-build ולהריץ פקודות mvn.
  • args: השדה args של שלב בנייה מקבל רשימה של ארגומנטים ומעביר אותם לתמונה שאליה יש הפניה בשדה name.

בשלב ה-build הבא מצוין entrypoint לתמונה maven שתויגה כ-3.3-jdk-8, והוא מדפיס את הגרסה של כלי ה-build:

          steps:
          - name: maven:3.3-jdk-8
            entrypoint: mvn
            args: ['--version']

הגדרת בנייה של Java

  1. בתיקיית השורש של הפרויקט, יוצרים קובץ הגדרות build בשם cloudbuild.yaml.

  2. הרצת בדיקות: maven מספקת maven test, שמוריד תלות, בונה את האפליקציות ומריץ את כל הבדיקות שצוינו בקוד המקור. השדה args של שלב בנייה מקבל רשימה של ארגומנטים ומעביר אותם לתמונה שאליה מתייחס השדה name.

    בקובץ הגדרות ה-build, מוסיפים את test לשדה args כדי להפעיל את test בתוך maven:

         steps:
         - name: maven:3.3-jdk-8
           entrypoint: mvn
           args: ['test']
    
  3. חבילת אפליקציה: כדי לארוז את האפליקציה בקובץ JAR לתמונה maven, מציינים את הפקודה package בשדה args. הפקודה package יוצרת קובץ JAR ב-/workspace/target/.

    שלב הבנייה הבא יוצר חבילה של אפליקציית Java:

         steps:
         - name: maven:3.3-jdk-8
           entrypoint: mvn
           args: ['package','-Dmaven.test.skip=true']
    
  4. העלאה אל Artifact Registry:

    בקובץ התצורה של ה-build, משתמשים בשדה mavenArtifacts כדי לציין את הנתיב של האפליקציה ואת מאגר Maven ב-Artifact Registry:

    artifacts:
      mavenArtifacts:
      - repository: 'https://location-maven.pkg.dev/project-id/repository-name'
        path: 'app-path'
        artifactId: 'build-artifact'
        groupId: 'group-id'
        version: 'version'
    

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

    • location: המיקום של המאגר ב-Artifact Registry.
    • project-id: מזהה Google Cloud הפרויקט שמכיל את מאגר Artifact Registry.
    • repository-name: השם של מאגר Maven ב-Artifact Registry.
    • app-path: הנתיב לאפליקציה הארוזה.
    • build-artifact: השם של קובץ החבילה שנוצר משלב הבנייה.
    • group-id: מזהה באופן ייחודי את הפרויקט בכל הפרויקטים של Maven, בפורמט com.mycompany.app. מידע נוסף זמין במדריך Maven למוסכמות שמות.
    • version: מספר הגרסה של האפליקציה, בפורמט של מספרים ונקודות כמו 1.0.1.
  5. אופציונלי: הפעלת יצירת שיוך מקור

    ‫Cloud Build יכול ליצור מטא נתונים של מקורות build שניתנים לאימות של Supply chain Levels for Software Artifacts‏ (SLSA) כדי לעזור לכם לאבטח את צינור השילוב הרציף שלכם.

    כדי להפעיל את יצירת המקור, מוסיפים את השורה requestedVerifyOption: VERIFIED לקטע options בקובץ ההגדרות.

  6. מתחילים את ה-build: באופן ידני או באמצעות טריגרים של build.

    אחרי שהבנייה מסתיימת, אפשר לראות את פרטי המאגר ב-Artifact Registry.

    אפשר גם לראות את המטא-נתונים של מקור ה-build ולאמת את המקור.

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